6.0.0-0.13

This commit is contained in:
Jakub Jelinek 2016-02-27 08:24:13 +01:00
parent 8a240523f5
commit 773cefac2c
4 changed files with 95 additions and 4 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/gcc-6.0.0-20160219.tar.bz2
/gcc-6.0.0-20160227.tar.bz2

View File

@ -1,9 +1,9 @@
%global DATE 20160219
%global SVNREV 233570
%global DATE 20160227
%global SVNREV 233778
%global gcc_version 6.0.0
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%global gcc_release 0.12
%global gcc_release 0.13
%global _unpackaged_files_terminate_build 0
%global _performance_build 1
# Hardening slows the compiler way too much.
@ -206,6 +206,7 @@ Patch10: gcc6-no-add-needed.patch
Patch11: gcc6-libgo-p224.patch
Patch12: gcc6-aarch64-async-unw-tables.patch
Patch13: gcc6-libsanitize-aarch64-va42.patch
Patch14: gcc6-pr69947.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@ -772,6 +773,7 @@ package or when debugging this package.
rm -f libgo/go/crypto/elliptic/p224{,_test}.go
%patch12 -p0 -b .aarch64-async-unw-tables~
%patch13 -p0 -b .libsanitize-aarch64-va42~
%patch14 -p0 -b .pr69947~
%if 0%{?_enable_debug_packages}
mkdir dwz-wrapper
@ -3064,6 +3066,28 @@ fi
%doc rpm.doc/changelogs/libcc1/ChangeLog*
%changelog
* Sat Feb 27 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.13
- update from the trunk
- PRs c++/15766, c++/67364, c++/68049, c++/69323, c++/69736, c++/69743,
c++/69826, c++/69865, c++/69889, c++/69902, c++/69912, c++/69922,
c++/69958, c/28901, c/51147, c/69759, c/69819, c/69900, c/69911,
c/69918, debug/61033, debug/69705, driver/68463, driver/69805,
fortran/52531, fortran/57365, fortran/61156, fortran/69423, hsa/69568,
ipa/37448, ipa/69630, libgfortran/69456, libstdc++/69881,
libstdc++/69893, libstdc++/69939, middle-end/68963, middle-end/69760,
middle-end/69780, middle-end/69909, middle-end/69915,
middle-end/69919, middle-end/69920, objc/69844, preprocessor/69558,
rtl-optimization/69886, rtl-optimization/69891,
rtl-optimization/69896, target/54089, target/61397, target/69613,
target/69709, target/69806, target/69810, target/69875, target/69885,
target/69888, target/69894, target/69895, target/69946, target/69969,
tree-optimization/15826, tree-optimization/48795,
tree-optimization/69551, tree-optimization/69666,
tree-optimization/69740, tree-optimization/69882,
tree-optimization/69907
- make sure DW_TAG_dwarf_procedure referenced from DW_OP_GNU_implicit_pointer
is not pruned as "unused" (PR debug/69947)
* Fri Feb 19 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.12
- update from the trunk
- PRs bootstrap/69816, c++/65985, c++/67767, c++/68585, c++/68679,

66
gcc6-pr69947.patch Normal file
View File

@ -0,0 +1,66 @@
2016-02-25 Jakub Jelinek <jakub@redhat.com>
PR debug/69947
* dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
all other ops that have dw_val_class_die_ref operands,
and DW_OP_GNU_entry_value.
* gcc.dg/guality/pr69947.c: New test.
--- gcc/dwarf2out.c.jj 2016-02-25 17:04:11.465781368 +0100
+++ gcc/dwarf2out.c 2016-02-25 17:41:26.785371399 +0100
@@ -25641,11 +25641,29 @@ prune_unused_types_walk_loc_descr (dw_lo
for (; loc != NULL; loc = loc->dw_loc_next)
switch (loc->dw_loc_opc)
{
+ case DW_OP_GNU_implicit_pointer:
+ case DW_OP_GNU_convert:
+ case DW_OP_GNU_reinterpret:
+ if (loc->dw_loc_oprnd1.val_class == dw_val_class_die_ref)
+ prune_unused_types_mark (loc->dw_loc_oprnd1.v.val_die_ref.die, 1);
+ break;
case DW_OP_call2:
case DW_OP_call4:
case DW_OP_call_ref:
+ case DW_OP_GNU_const_type:
+ case DW_OP_GNU_parameter_ref:
+ gcc_assert (loc->dw_loc_oprnd1.val_class == dw_val_class_die_ref);
prune_unused_types_mark (loc->dw_loc_oprnd1.v.val_die_ref.die, 1);
break;
+ case DW_OP_GNU_regval_type:
+ case DW_OP_GNU_deref_type:
+ gcc_assert (loc->dw_loc_oprnd2.val_class == dw_val_class_die_ref);
+ prune_unused_types_mark (loc->dw_loc_oprnd2.v.val_die_ref.die, 1);
+ break;
+ case DW_OP_GNU_entry_value:
+ gcc_assert (loc->dw_loc_oprnd1.val_class == dw_val_class_loc);
+ prune_unused_types_walk_loc_descr (loc->dw_loc_oprnd1.v.val_loc);
+ break;
default:
break;
}
--- gcc/testsuite/gcc.dg/guality/pr69947.c.jj 2016-02-25 17:22:13.729098931 +0100
+++ gcc/testsuite/gcc.dg/guality/pr69947.c 2016-02-25 17:22:13.729098931 +0100
@@ -0,0 +1,22 @@
+/* PR debug/69947 */
+/* { dg-do run } */
+/* { dg-options "-g" } */
+
+#include "../nop.h"
+
+static const char *c = "foobar";
+
+__attribute__((noinline, noclone)) void
+foo (void)
+{
+ static const char a[] = "abcdefg";
+ const char *b = a; /* { dg-final { gdb-test 14 "c\[2\]" "'o'" } } */
+ asm (NOP : : : "memory"); /* { dg-final { gdb-test 14 "b\[4\]" "'e'" } } */
+}
+
+int
+main ()
+{
+ foo ();
+ return 0;
+}

View File

@ -1 +1 @@
930f315c148900b693cd38286aa086a4 gcc-6.0.0-20160219.tar.bz2
355ef84ab33557cd2d7f3110fad9a492 gcc-6.0.0-20160227.tar.bz2