Reset x86 Linux targets to not compressing debug sections by default. Enable compres...
authorNick Clifton <nickc@redhat.com>
Wed, 21 Oct 2015 12:12:19 +0000 (13:12 +0100)
committerNick Clifton <nickc@redhat.com>
Wed, 21 Oct 2015 12:15:39 +0000 (13:15 +0100)
PR gas/19109
. * configure.ac: Note the 'none' is an acceptable argument to
--enable-compressed-debug-sections.
* configure: Regenerate.

gas * configure.ac: Restore --enable-compressed-debug-sections.
Do not enable compressed debug sections by default for x86 Linux
targets.
* configure: Regenerate.

ld * configure.ac: Add --enable-compressed-debug-sections.
* configure: Regenerate.
* config.in: Regenerate.
* ld.texinfo: Document how to determine the default action for
debug sections.
* ldmain.c (main): If DEFAULT_FLAG_COMPRESS_DEBUG is defined then
set the compress_debug field of the link_info structure to
zlib-gabi.
* lexsup.c (elf_static_list_options): Output the default setting
for the --compress-debug-sections option.
* NEWS: Mention the new configure option.

14 files changed:
ChangeLog
configure
configure.ac
gas/ChangeLog
gas/configure
gas/configure.ac
ld/ChangeLog
ld/NEWS
ld/config.in
ld/configure
ld/configure.ac
ld/ld.texinfo
ld/ldmain.c
ld/lexsup.c

index 24c462bbe25d7d689b7775cc58132c0a7fd622b1..514c8739b6fd710f5a757c6b7b164aa812930f16 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-10-21  Nick Clifton  <nickc@redhat.com>
+
+       PR gas/19109
+       * configure.ac: Note the 'none' is an acceptable argument to
+       --enable-compressed-debug-sections.
+       * configure: Regenerate.
+
 2015-10-20  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR gas/19109
index f66f42474d4128aaa1f7f42e44bd555666044102..34b66f7ea1235ef870b7e95ca5f3e847764d5f37 100755 (executable)
--- a/configure
+++ b/configure
@@ -1477,7 +1477,7 @@ Optional Features:
                           offload target compiler during the build
   --enable-gold[=ARG]     build gold [ARG={default,yes,no}]
   --enable-ld[=ARG]       build ld [ARG={default,yes,no}]
-  --enable-compressed-debug-sections={all,gas,gold,ld}
+  --enable-compressed-debug-sections={all,gas,gold,ld,none}
                           Enable compressed debug sections for gas, gold or ld
                           by default
   --disable-libquadmath   do not build libquadmath directory
index cb6ca24458d23b7b4ff81738c7966b7d4ddad843..4977d97e770b8d389cd78504d698a8915bf6d601 100644 (file)
@@ -397,7 +397,7 @@ esac
 # Decide the default method for compressing debug sections.
 # Provide a configure time option to override our default.
 AC_ARG_ENABLE(compressed_debug_sections,
-[AS_HELP_STRING([--enable-compressed-debug-sections={all,gas,gold,ld}],
+[AS_HELP_STRING([--enable-compressed-debug-sections={all,gas,gold,ld,none}],
                [Enable compressed debug sections for gas, gold or ld by
                 default])],
 [
index e6f9c1fe346f52ad1c032fbefbb6b9a6dc7199e2..6bc221347558b454c387432080276835527126e6 100644 (file)
@@ -1,3 +1,11 @@
+2015-10-21  Nick Clifton  <nickc@redhat.com>
+
+       PR gas/19109
+       * configure.ac: Restore --enable-compressed-debug-sections.
+       Do not enable compressed debug sections by default for x86 Linux
+       targets.
+       * configure: Regenerate.
+
 2015-10-20  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR gas/19109
index 397bb38b16c17dde885e929942f1cd6d75c902bc..e7c6faddc0ebabaf653351b99c5cf2ef03c9d8cf 100755 (executable)
@@ -764,6 +764,7 @@ enable_plugins
 enable_largefile
 enable_targets
 enable_checking
+enable_compressed_debug_sections
 enable_werror
 enable_build_warnings
 enable_nls
@@ -1412,6 +1413,7 @@ Optional Features:
   --disable-largefile     omit support for large files
   --enable-targets        alternative target configurations besides the primary
   --enable-checking       enable run-time checks
+  --enable-compressed-debug-sections  compress debug sections by default
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings
   --disable-nls           do not use Native Language Support
@@ -10969,7 +10971,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10972 "configure"
+#line 10974 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11075,7 +11077,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11078 "configure"
+#line 11080 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11664,6 +11666,19 @@ $as_echo "#define ENABLE_CHECKING 1" >>confdefs.h
 
 fi
 
+# PR gas/19109
+# Decide the default method for compressing debug sections.
+ac_default_compressed_debug_sections=unset
+# Provide a configure time option to override our default.
+# Check whether --enable-compressed_debug_sections was given.
+if test "${enable_compressed_debug_sections+set}" = set; then :
+  enableval=$enable_compressed_debug_sections; case "${enableval}" in
+  yes | all | gas) ac_default_compressed_debug_sections=yes ;;
+  no | none)  ac_default_compressed_debug_sections=no ;;
+  *)   ac_default_compressed_debug_sections=unset ;;
+esac
+fi
+
 using_cgen=no
 
 
@@ -12489,15 +12504,11 @@ _ACEOF
 
 done
 
-# For x86 Linux targets, default to compressing debug sections unless
-# configured otherwise.
-case x${enable_compressed_debug_sections}-${target_cpu_type}-${target_os} in
-x*gas*|xall*|x-i386-linux-gnu)
+if test x$ac_default_compressed_debug_sections == xyes ; then
 
 $as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
 
-  ;;
-esac
+fi
 
 # Turn on all targets if possible
 if test ${all_targets} = "yes"; then
index b15da9a9c25e991793c666f94ac63cfac3ab2e4d..278a7fbca7bcd4683693583d4596a2c8ab882e50 100644 (file)
@@ -64,6 +64,18 @@ if test x$ac_checking != x ; then
   AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.])
 fi
 
+# PR gas/19109
+# Decide the default method for compressing debug sections.
+ac_default_compressed_debug_sections=unset
+# Provide a configure time option to override our default.
+AC_ARG_ENABLE(compressed_debug_sections,
+[  --enable-compressed-debug-sections  compress debug sections by default],
+[case "${enableval}" in
+  yes | all | gas) ac_default_compressed_debug_sections=yes ;;
+  no | none)  ac_default_compressed_debug_sections=no ;;
+  *)   ac_default_compressed_debug_sections=unset ;;
+esac])dnl
+
 using_cgen=no
 
 AM_BINUTILS_WARNINGS
@@ -536,14 +548,9 @@ changequote([,])dnl
 
 done
 
-# For x86 Linux targets, default to compressing debug sections unless
-# configured otherwise.
-case x${enable_compressed_debug_sections}-${target_cpu_type}-${target_os} in
-x*gas*|xall*|x-i386-linux-gnu)
-  AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1,
-           [Define if you want compressed debug sections by default.])
-  ;;
-esac
+if test x$ac_default_compressed_debug_sections == xyes ; then
+  AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.])
+fi
 
 # Turn on all targets if possible
 if test ${all_targets} = "yes"; then
index 2489e1e34a36516855f4d58fee458866a200ba38..e59e9f888152782923a33a77825c6ceca543edff 100644 (file)
@@ -1,3 +1,18 @@
+2015-10-21  Nick Clifton  <nickc@redhat.com>
+
+       PR gas/19109
+       * configure.ac: Add --enable-compressed-debug-sections.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * ld.texinfo: Document how to determine the default action for
+       debug sections.
+       * ldmain.c (main): If DEFAULT_FLAG_COMPRESS_DEBUG is defined then
+       set the compress_debug field of the link_info structure to
+       zlib-gabi.
+       * lexsup.c (elf_static_list_options): Output the default setting
+       for the --compress-debug-sections option.
+       * NEWS: Mention the new configure option.
+
 2015-10-15  H.J. Lu  <hongjiu.lu@intel.com>
 
        * ld.texinfo: Fix a typo for "-z noextern-protected-data".
diff --git a/ld/NEWS b/ld/NEWS
index e5dd1a5e8bf07b413120ff914061b0edf5768f37..89288d94a53c7437466b924732ad50451fd7af7d 100644 (file)
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,8 @@
 -*- text -*-
 
+* Add a configure option --enable-compressed-debug-sections={all,ld} to
+  decide whether DWARF debug sections should be compressed by default.
+
 * Add support for the ARC EM/HS, and ARC600/700 architectures.
 
 * Experimental support for linker garbage collection (--gc-sections)
index a9a37e0dc50b43abec053b031823eacb885b63f3..276fb776da0eec0180c58148f100a751787313b1 100644 (file)
@@ -7,6 +7,9 @@
 #endif
 #define __CONFIG_H__ 1
 
+/* Define if you want compressed debug sections by default. */
+#undef DEFAULT_FLAG_COMPRESS_DEBUG
+
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
 #undef ENABLE_NLS
index 1249852284a589fe53323c003567f364a590a919..c068f6f6e0249bd2f5ed25c5d7f2c8641fec5fec 100755 (executable)
@@ -788,6 +788,7 @@ enable_64_bit_bfd
 with_sysroot
 enable_gold
 enable_got
+enable_compressed_debug_sections
 enable_werror
 enable_build_warnings
 enable_nls
@@ -1444,6 +1445,7 @@ Optional Features:
   --enable-gold[=ARG]     build gold [ARG={default,yes,no}]
   --enable-got=<type>     GOT handling scheme (target, single, negative,
                           multigot)
+  --enable-compressed-debug-sections  compress debug sections by default
   --enable-werror         treat compile warnings as errors
   --enable-build-warnings enable build-time compiler warnings
   --disable-nls           do not use Native Language Support
@@ -11713,7 +11715,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11716 "configure"
+#line 11718 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11819,7 +11821,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11822 "configure"
+#line 11824 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -15521,6 +15523,19 @@ $as_echo "#define GOT_HANDLING_DEFAULT GOT_HANDLING_MULTIGOT" >>confdefs.h
   *)  as_fn_error "bad value ${got_handling} for --enable-got option" "$LINENO" 5 ;;
 esac
 
+# PR gas/19109
+# Decide the default method for compressing debug sections.
+ac_default_compressed_debug_sections=unset
+# Provide a configure time option to override our default.
+# Check whether --enable-compressed_debug_sections was given.
+if test "${enable_compressed_debug_sections+set}" = set; then :
+  enableval=$enable_compressed_debug_sections; case "${enableval}" in
+  yes | all | ld) ac_default_compressed_debug_sections=yes ;;
+  no | none)  ac_default_compressed_debug_sections=no ;;
+  *)   ac_default_compressed_debug_sections=unset ;;
+esac
+fi
+
 
 # Set the 'development' global.
 . $srcdir/../bfd/development.sh
   fi
 done
 
+if test x$ac_default_compressed_debug_sections == xyes ; then
+
+$as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
+
+fi
+
 
 
 
index e1d2c8137af60c495af1b0e5363650ee5cd881d3..8a9ce2bbc2ad46b2fc9eca4b0d99db328f617fd2 100644 (file)
@@ -143,6 +143,18 @@ case "${got_handling}" in
   *)  AC_MSG_ERROR(bad value ${got_handling} for --enable-got option) ;;
 esac
 
+# PR gas/19109
+# Decide the default method for compressing debug sections.
+ac_default_compressed_debug_sections=unset
+# Provide a configure time option to override our default.
+AC_ARG_ENABLE(compressed_debug_sections,
+[  --enable-compressed-debug-sections  compress debug sections by default],
+[case "${enableval}" in
+  yes | all | ld) ac_default_compressed_debug_sections=yes ;;
+  no | none)  ac_default_compressed_debug_sections=no ;;
+  *)   ac_default_compressed_debug_sections=unset ;;
+esac])dnl
+
 AM_BINUTILS_WARNINGS
 
 AM_LC_MESSAGES
@@ -372,6 +384,10 @@ do
   fi
 done
 
+if test x$ac_default_compressed_debug_sections == xyes ; then
+  AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.])
+fi
+
 AC_SUBST(elf_list_options)
 AC_SUBST(elf_shlib_list_options)
 AC_SUBST(elf_plt_unwind_list_options)
index 17cd479922d577dc351cc0be769faa2dc1526900..63760552a6b8e7ee777fd8a41290c628715d2cb1 100644 (file)
@@ -2275,6 +2275,9 @@ sections and rename debug section names to begin with @samp{.zdebug}
 instead of @samp{.debug}.  @option{--compress-debug-sections=zlib}
 and @option{--compress-debug-sections=zlib-gabi}
 compress DWARF debug sections with SHF_COMPRESSED from the ELF ABI.
+The default behaviour varies depending upon the target involved and
+the configure options used to build the toolchain.  The default can be
+determined by examing the output from the linker's @option{--help} option.
 
 @kindex --reduce-memory-overheads
 @item --reduce-memory-overheads
index 96d7fe81ef7c8537f7cfb40b44f66c2a6496bced..bb0b9ccb2f442f5724fdd8f1a9773e8f9a6855fe 100644 (file)
@@ -281,6 +281,9 @@ main (int argc, char **argv)
   link_info.pei386_auto_import = -1;
   link_info.spare_dynamic_tags = 5;
   link_info.path_separator = ':';
+#ifdef DEFAULT_FLAG_COMPRESS_DEBUG
+  link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;
+#endif
 
   ldfile_add_arch ("");
   emulation = get_emulation (argc, argv);
index fdd39a73dc2d228c355bdc2ef8c0129c528f1291..1dcbf4cfa72790a2bcbc1a5d8499ba4c3e382a2f 100644 (file)
@@ -1756,6 +1756,13 @@ elf_static_list_options (FILE *file)
   fprintf (file, _("\
   --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]\n\
                               Compress DWARF debug sections using zlib\n"));
+#ifdef DEFAULT_FLAG_COMPRESS_DEBUG
+  fprintf (file, _("\
+                               Default: zlib-gabi\n"));
+#else
+  fprintf (file, _("\
+                               Default: none\n"));
+#endif
   fprintf (file, _("\
   -z common-page-size=SIZE    Set common page size to SIZE\n"));
   fprintf (file, _("\