From 9d49a2fbcde86fb47be99dc85f710bea06470174 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Wed, 22 Jun 2016 09:09:27 +0000 Subject: Handle gas/gld --compress-debug-sections=type * configure.ac (gcc_cv_as_compress_debug): Remove --compress-debug-sections as extra as switch. Handle gas --compress-debug-sections=type. (gcc_cv_ld_compess_debug): Remove bogus ld_date check. Handle gld --compress-debug-sections=type. * configure: Regenerate. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@237680 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 9 +++++++++ gcc/configure | 36 +++++++++++++++++++++++------------- gcc/configure.ac | 36 +++++++++++++++++++++++------------- 3 files changed, 55 insertions(+), 26 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9112c634b5b..88693a4ec0e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -9,6 +9,15 @@ cortex-a73.cortex-a35 and cortex-a73.cortex-a53 arguments to -mcpu and -mtune. +2016-06-22 Rainer Orth + + * configure.ac (gcc_cv_as_compress_debug): Remove + --compress-debug-sections as extra as switch. + Handle gas --compress-debug-sections=type. + (gcc_cv_ld_compess_debug): Remove bogus ld_date check. + Handle gld --compress-debug-sections=type. + * configure: Regenerate. + 2016-06-21 Andrew Burgess * bb-reorder.c (pass_partition_blocks::gate): Update comment. diff --git a/gcc/configure b/gcc/configure index 9b1a404946a..bfd2b8c64f5 100755 --- a/gcc/configure +++ b/gcc/configure @@ -27516,7 +27516,7 @@ else gcc_cv_as_compress_debug=no if test x$gcc_cv_as != x; then $as_echo '' > conftest.s - if { ac_try='$gcc_cv_as $gcc_cv_as_flags --compress-debug-sections -o conftest.o conftest.s >&5' + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -o conftest.o conftest.s >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -27528,6 +27528,15 @@ else if $gcc_cv_as --compress-debug-sections -o conftest.o conftest.s 2>&1 | grep -i warning > /dev/null then gcc_cv_as_compress_debug=0 + # Since binutils 2.26, gas supports --compress-debug-sections=type, + # defaulting to the ELF gABI format. + elif $gcc_cv_as --compress-debug-sections=zlib-gnu -o conftest.o conftest.s > /dev/null 2>&1 + then + gcc_cv_as_compress_debug=2 + gcc_cv_as_compress_debug_option="--compress-debug-sections" + gcc_cv_as_no_compress_debug_option="--nocompress-debug-sections" + # Before binutils 2.26, gas only supported --compress-debug-options and + # emitted the traditional GNU format. elif $gcc_cv_as --compress-debug-sections -o conftest.o conftest.s > /dev/null 2>&1 then gcc_cv_as_compress_debug=1 @@ -27535,8 +27544,6 @@ else gcc_cv_as_no_compress_debug_option="--nocompress-debug-sections" else gcc_cv_as_compress_debug=0 - # FIXME: Future gas versions will support ELF gABI style via - # --compress-debug-sections[=type]. fi else echo "configure: failed program was" >&5 @@ -28040,27 +28047,30 @@ $as_echo "$gcc_cv_ld_eh_gc_sections_bug" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker for compressed debug sections" >&5 $as_echo_n "checking linker for compressed debug sections... " >&6; } # gold/gld support compressed debug sections since binutils 2.19/2.21 +# In binutils 2.26, gld gained support for the ELF gABI format. if test $in_tree_ld = yes ; then gcc_cv_ld_compress_debug=0 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 19 -o "$gcc_cv_gld_major_version" -gt 2 \ && test $in_tree_ld_is_elf = yes && test $ld_is_gold = yes; then gcc_cv_ld_compress_debug=2 gcc_cv_ld_compress_debug_option="--compress-debug-sections" + elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 26 -o "$gcc_cv_gld_major_version" -gt 2 \ + && test $in_tree_ld_is_elf = yes && test $ld_is_gold = no; then + gcc_cv_ld_compress_debug=3 + gcc_cv_ld_compress_debug_option="--compress-debug-sections" elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2 \ && test $in_tree_ld_is_elf = yes; then gcc_cv_ld_compress_debug=1 fi elif echo "$ld_ver" | grep GNU > /dev/null; then - gcc_cv_ld_compress_debug=1 - if test 0"$ld_date" -lt 20050308; then - if test -n "$ld_date"; then - # If there was date string, but was earlier than 2005-03-08, fail - gcc_cv_ld_compress_debug=0 - elif test "$ld_vers_major" -lt 2; then - gcc_cv_ld_compress_debug=0 - elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 21; then - gcc_cv_ld_compress_debug=0 - fi + if test "$ld_vers_major" -lt 2 \ + || test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 21; then + gcc_cv_ld_compress_debug=0 + elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 26; then + gcc_cv_ld_compress_debug=1 + else + gcc_cv_ld_compress_debug=3 + gcc_cv_ld_compress_debug_option="--compress-debug-sections" fi if test $ld_is_gold = yes; then gcc_cv_ld_compress_debug=2 diff --git a/gcc/configure.ac b/gcc/configure.ac index 1bcb6f532b0..fabd48e5a25 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -4729,12 +4729,21 @@ if test x"$insn" != x; then fi gcc_GAS_CHECK_FEATURE([compressed debug sections], - gcc_cv_as_compress_debug,,[--compress-debug-sections],, + gcc_cv_as_compress_debug,,,, [# gas compiled without zlib cannot compress debug sections and warns # about it, but still exits successfully. So check for this, too. if $gcc_cv_as --compress-debug-sections -o conftest.o conftest.s 2>&1 | grep -i warning > /dev/null then gcc_cv_as_compress_debug=0 + # Since binutils 2.26, gas supports --compress-debug-sections=type, + # defaulting to the ELF gABI format. + elif $gcc_cv_as --compress-debug-sections=zlib-gnu -o conftest.o conftest.s > /dev/null 2>&1 + then + gcc_cv_as_compress_debug=2 + gcc_cv_as_compress_debug_option="--compress-debug-sections" + gcc_cv_as_no_compress_debug_option="--nocompress-debug-sections" + # Before binutils 2.26, gas only supported --compress-debug-options and + # emitted the traditional GNU format. elif $gcc_cv_as --compress-debug-sections -o conftest.o conftest.s > /dev/null 2>&1 then gcc_cv_as_compress_debug=1 @@ -4742,8 +4751,6 @@ gcc_GAS_CHECK_FEATURE([compressed debug sections], gcc_cv_as_no_compress_debug_option="--nocompress-debug-sections" else gcc_cv_as_compress_debug=0 - # FIXME: Future gas versions will support ELF gABI style via - # --compress-debug-sections[=type]. fi]) AC_DEFINE_UNQUOTED(HAVE_AS_COMPRESS_DEBUG, $gcc_cv_as_compress_debug, [Define to the level of your assembler's compressed debug section support.]) @@ -5118,27 +5125,30 @@ AC_MSG_RESULT($gcc_cv_ld_eh_gc_sections_bug) AC_MSG_CHECKING(linker for compressed debug sections) # gold/gld support compressed debug sections since binutils 2.19/2.21 +# In binutils 2.26, gld gained support for the ELF gABI format. if test $in_tree_ld = yes ; then gcc_cv_ld_compress_debug=0 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 19 -o "$gcc_cv_gld_major_version" -gt 2 \ && test $in_tree_ld_is_elf = yes && test $ld_is_gold = yes; then gcc_cv_ld_compress_debug=2 gcc_cv_ld_compress_debug_option="--compress-debug-sections" + elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 26 -o "$gcc_cv_gld_major_version" -gt 2 \ + && test $in_tree_ld_is_elf = yes && test $ld_is_gold = no; then + gcc_cv_ld_compress_debug=3 + gcc_cv_ld_compress_debug_option="--compress-debug-sections" elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2 \ && test $in_tree_ld_is_elf = yes; then gcc_cv_ld_compress_debug=1 fi elif echo "$ld_ver" | grep GNU > /dev/null; then - gcc_cv_ld_compress_debug=1 - if test 0"$ld_date" -lt 20050308; then - if test -n "$ld_date"; then - # If there was date string, but was earlier than 2005-03-08, fail - gcc_cv_ld_compress_debug=0 - elif test "$ld_vers_major" -lt 2; then - gcc_cv_ld_compress_debug=0 - elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 21; then - gcc_cv_ld_compress_debug=0 - fi + if test "$ld_vers_major" -lt 2 \ + || test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 21; then + gcc_cv_ld_compress_debug=0 + elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 26; then + gcc_cv_ld_compress_debug=1 + else + gcc_cv_ld_compress_debug=3 + gcc_cv_ld_compress_debug_option="--compress-debug-sections" fi if test $ld_is_gold = yes; then gcc_cv_ld_compress_debug=2 -- cgit v1.2.3