Reset x86 Linux targets to not compressing debug sections by default. Enable compression of debug sections by default in the linker, if so configured.

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.
This commit is contained in:
Nick Clifton 2015-10-21 13:12:19 +01:00
parent 4cd98a1920
commit 6c3bc0f82c
14 changed files with 124 additions and 20 deletions

View File

@ -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

2
configure vendored
View File

@ -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

View 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])],
[

View 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

27
gas/configure vendored
View File

@ -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

View 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

View 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".

View File

@ -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)

View 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

25
ld/configure vendored
View File

@ -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
@ -17118,6 +17133,12 @@ do
fi
done
if test x$ac_default_compressed_debug_sections == xyes ; then
$as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
fi

View 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)

View 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

View 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);

View 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, _("\