Add a gas configure option to select the default behaviour for the generation of...
authorNick Clifton <nickc@redhat.com>
Mon, 19 Oct 2015 10:45:54 +0000 (11:45 +0100)
committerNick Clifton <nickc@redhat.com>
Mon, 19 Oct 2015 10:45:54 +0000 (11:45 +0100)
PR gas/19109
* configure.ac: Add option --enable-compressed-debug-sections.
This sets the default behaviour for compressing debug sections.
* as.c (flag_compress_debug): Define and initialise to
COMPRESS_DEBUG_GABI_ZLIB if DEFAULT_COMPRESS_DEBUG is set.
(show_usage): Indicate whether --no-compress-debug-sections
or --compress-debug-sections is the default.
* config/tc-i386.c (flag_compress_debug): Delete definition.
* doc/as.texinfo (--nocompress-debug-sectionas): Update
description.
* NEWS: Announce the new feature.
* config.in: Regenerate.
* configure: Regenerate.

gas/ChangeLog
gas/NEWS
gas/as.c
gas/config.in
gas/config/tc-i386.c
gas/configure
gas/configure.ac
gas/doc/as.texinfo

index a21a03b062e9c6a1b9d91502356dbdb8da529012..2662b43fa0bf920b64c63e9f172855909acbec47 100644 (file)
@@ -1,3 +1,19 @@
+2015-10-19  Nick Clifton  <nickc@redhat.com>
+
+       PR gas/19109
+       * configure.ac: Add option --enable-compressed-debug-sections.
+       This sets the default behaviour for compressing debug sections.
+       * as.c (flag_compress_debug): Define and initialise to
+       COMPRESS_DEBUG_GABI_ZLIB if DEFAULT_COMPRESS_DEBUG is set.
+       (show_usage): Indicate whether --no-compress-debug-sections
+       or --compress-debug-sections is the default.
+       * config/tc-i386.c (flag_compress_debug): Delete definition.
+       * doc/as.texinfo (--nocompress-debug-sectionas): Update
+       description.
+       * NEWS: Announce the new feature.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
 2015-10-12  Nick Clifton  <nickc@redhat.com>
 
        * config/tc-msp430.c (msp430_mcu_names): Rename to
index 03cfa648e64e155bf1704a6e16cff7b2eee59d5b..50b921d22af491effc014ae35e758559c8aa603d 100644 (file)
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,8 @@
 -*- text -*-
 
+* Add a configure option --enable-compressed-debug-sections=[yes|no] to decide
+  whether DWARF debug sections should be compressed by default.
+
 * Add support for the ARC EM/HS, and ARC600/700 architectures.  Remove
   assembler support for Argonaut RISC architectures.
 
index 6fb28e97a836d4ca203e22917ded7a66021133b1..cb9f0d1e95bb100e73517977a9b13a410ac1dc70 100644 (file)
--- a/gas/as.c
+++ b/gas/as.c
@@ -224,6 +224,11 @@ print_version_id (void)
           VERSION, TARGET_ALIAS, BFD_VERSION_STRING);
 }
 
+#ifdef DEFAULT_FLAG_COMPRESS_DEBUG
+enum compressed_debug_section_type flag_compress_debug
+  = COMPRESS_DEBUG_GABI_ZLIB;
+#endif
+
 static void
 show_usage (FILE * stream)
 {
@@ -245,12 +250,21 @@ Options:\n\
 
   fprintf (stream, _("\
   --alternate             initially turn on alternate macro syntax\n"));
+#ifdef DEFAULT_FLAG_COMPRESS_DEBUG
   fprintf (stream, _("\
   --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi}]\n\
-                          compress DWARF debug sections using zlib\n"));
+                          compress DWARF debug sections using zlib [default]\n"));
   fprintf (stream, _("\
   --nocompress-debug-sections\n\
                           don't compress DWARF debug sections\n"));
+#else
+  fprintf (stream, _("\
+  --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi}]\n\
+                          compress DWARF debug sections using zlib\n"));
+  fprintf (stream, _("\
+  --nocompress-debug-sections\n\
+                          don't compress DWARF debug sections [default]\n"));
+#endif
   fprintf (stream, _("\
   -D                      produce assembler debugging messages\n"));
   fprintf (stream, _("\
index e92edb1503e0ac6e456b83eb3ea8cbaa080d9b85..35c82026a211c93ba94bb58c51800096a236320e 100644 (file)
@@ -36,6 +36,9 @@
 /* Default emulation. */
 #undef DEFAULT_EMULATION
 
+/* Define if you want compressed debug sections by default. */
+#undef DEFAULT_FLAG_COMPRESS_DEBUG
+
 /* Supported emulations. */
 #undef EMULATIONS
 
index 13f1d276b6f2db41e0df96b011ba6a4a1798440b..b5c27ee859cf37861538e72af2dcad95f5f66b76 100644 (file)
 #include "elf/x86-64.h"
 #include "opcodes/i386-init.h"
 
-#ifdef TE_LINUX
-/* Default to compress debug sections for Linux.  */
-enum compressed_debug_section_type flag_compress_debug
-  = COMPRESS_DEBUG_GABI_ZLIB;
-#endif
-
 #ifndef REGISTER_WARNINGS
 #define REGISTER_WARNINGS 1
 #endif
index a74604f12cc4943cc42f0686feacd57d3a01f829..83bc95cfcb9a5401d8315a2219e23074f18da6a0 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) ac_default_compressed_debug_sections=yes ;;
+  no)  ac_default_compressed_debug_sections=no ;;
+  *)   ac_default_compressed_debug_sections=unset ;;
+esac
+fi
+
 using_cgen=no
 
 
@@ -12489,6 +12504,12 @@ _ACEOF
 
 done
 
+if test x$ac_default_compressed_debug_sections == xyes ; then
+
+$as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
+
+fi
+
 # Turn on all targets if possible
 if test ${all_targets} = "yes"; then
   case ${target_cpu_type} in
index aa6bb1dcec8cfc609132735daf3e11e98c4555b2..278b45d9b897b047ae938829d9c214543b3bf862 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) ac_default_compressed_debug_sections=yes ;;
+  no)  ac_default_compressed_debug_sections=no ;;
+  *)   ac_default_compressed_debug_sections=unset ;;
+esac])dnl
+
 using_cgen=no
 
 AM_BINUTILS_WARNINGS
@@ -536,6 +548,10 @@ changequote([,])dnl
 
 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
+
 # Turn on all targets if possible
 if test ${all_targets} = "yes"; then
   case ${target_cpu_type} in
index 4ed29d1425c03cd886b5922654fa387026d1c326..e04281d94e31a8a33ec53a35126d04d8d7a1e020 100644 (file)
@@ -656,7 +656,9 @@ sections using zlib.  The debug sections are renamed to begin with
 @end ifset
 
 @item --nocompress-debug-sections
-Do not compress DWARF debug sections.  This is the default.
+Do not compress DWARF debug sections.  This is usually the default for all
+targets except the x86/x86_64, but a configure time option can be used to
+override this.
 
 @item -D
 Ignored.  This option is accepted for script compatibility with calls to