From: Rainer Orth Date: Mon, 5 Feb 2018 22:37:13 +0000 (+0000) Subject: Disable SHF_MERGE on Solaris 10/x86 (PR bootstrap/84017) X-Git-Tag: releases/gcc-6.5.0~543 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7fe2eb5cd9d7531f0f57223ac1aaecb38f8dbbb2;p=thirdparty%2Fgcc.git Disable SHF_MERGE on Solaris 10/x86 (PR bootstrap/84017) Backport from mainline 2018-01-30 Rainer Orth PR bootstrap/84017 * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86. * configure: Regenerate. From-SVN: r257399 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6061b95a89b..67a048dd17a8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2018-02-05 Rainer Orth + + Backport from mainline + 2018-01-30 Rainer Orth + + PR bootstrap/84017 + * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86. + * configure: Regenerate. + 2018-02-01 Renlin Li Backport from mainline diff --git a/gcc/configure b/gcc/configure index ee300a87d983..ff3c6e63c030 100755 --- a/gcc/configure +++ b/gcc/configure @@ -23567,6 +23567,14 @@ fi $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 e9d69751ee8e..0aaa32201a92 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -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.]) diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c b/gcc/testsuite/gcc.dg/debug/dwarf2/prod-options.c index e6bc1371f261..19457173eb3f 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*-*-* } } } } } */ -/* { 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)