aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2018-01-30 09:53:29 +0000
committerRainer Orth <ro@gcc.gnu.org>2018-01-30 09:53:29 +0000
commit924d6d0b69ac1db29335100e81406f5e6cd04ff3 (patch)
tree796218afa8a6867b091c7ecf1143ab5c19990596
parent8711e791deaf97590d68ee82ff7a0b81d54e944d (diff)
downloadgcc-924d6d0b69ac1db29335100e81406f5e6cd04ff3.zip
gcc-924d6d0b69ac1db29335100e81406f5e6cd04ff3.tar.gz
gcc-924d6d0b69ac1db29335100e81406f5e6cd04ff3.tar.bz2
Disable SHF_MERGE on Solaris 10/x86 (PR bootstrap/84017)
gcc/testsuite: PR bootstrap/84017 * gcc.dg/debug/dwarf2/prod-options.c: Add -fno-merge-debug-strings to dg-options. Simplify DW_AT_producer scan. gcc: PR bootstrap/84017 * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86. * configure: Regenerate. From-SVN: r257179
-rw-r--r--gcc/ChangeLog6
-rwxr-xr-xgcc/configure8
-rw-r--r--gcc/configure.ac8
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c5
5 files changed, 31 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 119be1b..eca0950 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/84017
+ * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86.
+ * configure: Regenerate.
+
2018-01-30 Richard Sandiford <richard.sandiford@linaro.org>
* config/aarch64/aarch64-sve.md (*vec_extract<mode><Vel>_0): New
diff --git a/gcc/configure b/gcc/configure
index f3695ad..6db8c80 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -23571,6 +23571,14 @@ $as_echo "$gcc_cv_as_shf_merge" >&6; }
fi
+case "$target" in
+ i?86-*-solaris2.10* | x86_64-*-solaris2.10*)
+ # SHF_MERGE support in Solaris 10/x86 ld is broken.
+ if test x"$gnu_ld" = xno; then
+ gcc_cv_as_shf_merge=no
+ fi
+ ;;
+esac
cat >>confdefs.h <<_ACEOF
#define HAVE_GAS_SHF_MERGE `if test $gcc_cv_as_shf_merge = yes; then echo 1; else echo 0; fi`
diff --git a/gcc/configure.ac b/gcc/configure.ac
index b7f9728..f8b0e5a 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2954,6 +2954,14 @@ if test $gcc_cv_as_shf_merge = no; then
[elf,2,12,0], [--fatal-warnings],
[.section .rodata.str, "aMS", %progbits, 1])
fi
+case "$target" in
+ i?86-*-solaris2.10* | x86_64-*-solaris2.10*)
+ # SHF_MERGE support in Solaris 10/x86 ld is broken.
+ if test x"$gnu_ld" = xno; then
+ gcc_cv_as_shf_merge=no
+ fi
+ ;;
+esac
AC_DEFINE_UNQUOTED(HAVE_GAS_SHF_MERGE,
[`if test $gcc_cv_as_shf_merge = yes; then echo 1; else echo 0; fi`],
[Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.])
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8e68df6..bfc849e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2018-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/84017
+ * gcc.dg/debug/dwarf2/prod-options.c: Add -fno-merge-debug-strings
+ to dg-options.
+ Simplify DW_AT_producer scan.
+
2018-01-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL on !arm_neon arm targets.
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c b/gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c
index 6577eff..1945717 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c
@@ -3,9 +3,8 @@
the build not reproducible. Other skipped options could be tested here
as well. */
/* { dg-do compile } */
-/* { dg-options "-O2 -gdwarf -dA -fdebug-prefix-map=a=b" } */
-/* { dg-final { scan-assembler "DW_AT_producer: \"GNU C" { target { { { ! *-*-solaris2* } || gas } && { { ! hppa*64*-*-* } && { ! powerpc-ibm-aix* } } } } } } */
-/* { dg-final { scan-assembler "\"GNU C\[^\\n\\r\]+ DW_AT_producer" { target { { *-*-solaris2* && { ! gas } } || { hppa*64*-*-* } } } } } */
+/* { dg-options "-O2 -gdwarf -dA -fno-merge-debug-strings -fdebug-prefix-map=a=b" } */
+/* { dg-final { scan-assembler "\"GNU C\[^\\n\\r\]+ DW_AT_producer" } } */
/* { dg-final { scan-assembler-not "debug-prefix-map" } } */
void func (void)