]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Disable SHF_MERGE on Solaris 10/x86 (PR bootstrap/84017)
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Mon, 5 Feb 2018 22:37:13 +0000 (22:37 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Mon, 5 Feb 2018 22:37:13 +0000 (22:37 +0000)
Backport from mainline
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.

From-SVN: r257399

gcc/ChangeLog
gcc/configure
gcc/configure.ac
gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c

index e6061b95a89b3790e28a5802ca9d616c78260014..67a048dd17a8b8ba347809d60546be58e4328ed3 100644 (file)
@@ -1,3 +1,12 @@
+2018-02-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       Backport from mainline
+       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-02-01  Renlin Li  <renlin.li@arm.com>
 
        Backport from mainline
index ee300a87d983d5b2df74afac477611da0f062e5c..ff3c6e63c0306d0d4315d16d512ba48fd286aef9 100755 (executable)
 $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`
index e9d69751ee8e2743bcede55f96bf2d8dc4e63d20..0aaa32201a9298019b1915bece63a56fd978616d 100644 (file)
@@ -2933,6 +2933,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.])
index e6bc1371f261ee7fede880e70704be6a5867b813..19457173eb3f301daf8ccdfb6e6d8a3353c4d0a6 100644 (file)
@@ -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*-*-* } } } } } */
-/* { 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)