From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1851) id ABC393858401; Tue, 11 Oct 2022 12:17:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ABC393858401 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1665490624; bh=+HncnXQzlRugyyAuErZ0PeyxeJntrxgYxXJGe2RUYL0=; h=From:To:Subject:Date:From; b=FfO62f2lov8rgMV6Ej1EoTFu9jbr+MYlBv5nytBx29wl5VKpIFfyCV0+BljX9ISyF mDG2t4sDSQx0K9bwO2dEeS+craaL81LzttMESH5oq6xnFsZsze3PK4j8NV+rc6UM5u 2cQpVZQfMbes2RG6N3wY/8XgiHN+fmKIqIfrokxg= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Martin Liska To: bfd-cvs@sourceware.org, gdb-cvs@sourceware.org Subject: [binutils-gdb] add --enable-default-compressed-debug-sections-algorithm configure option X-Act-Checkin: binutils-gdb X-Git-Author: Martin Liska X-Git-Refname: refs/heads/master X-Git-Oldrev: 857bddbe737bc963bd9e5a3b24743a9bba5d2d7b X-Git-Newrev: b0c295e1b8d0ec8af33c502a6b00b260d0425c04 Message-Id: <20221011121704.ABC393858401@sourceware.org> Date: Tue, 11 Oct 2022 12:17:04 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Db0c295e1b8d0= ec8af33c502a6b00b260d0425c04 commit b0c295e1b8d0ec8af33c502a6b00b260d0425c04 Author: Martin Liska Date: Mon Oct 3 09:42:20 2022 +0200 add --enable-default-compressed-debug-sections-algorithm configure opti= on =20 ChangeLog: =20 * configure.ac: Add --enable-default-compressed-debug-sections-= algorithm. * configure: Regenerate. =20 gas/ChangeLog: =20 * NEWS: Document the new option. * as.c (flag_compress_debug): Set default algorithm based on the configure option. * configure.ac: Add --enable-default-compressed-debug-sections-= algorithm. * configure: Regenerate. * config.in: Likewise. =20 ld/ChangeLog: =20 * NEWS: Document the new option. * configure.ac: Add --enable-default-compressed-debug-sections-= algorithm. * configure: Regenerate. * config.in: Likewise. * ldmain.c: Set default algorithm based on the configure option. Diff: --- configure | 13 +++++++++++++ configure.ac | 6 ++++++ gas/NEWS | 3 +++ gas/as.c | 2 +- gas/config.in | 3 +++ gas/configure | 23 +++++++++++++++++++++-- gas/configure.ac | 12 ++++++++++++ ld/NEWS | 3 +++ ld/config.in | 3 +++ ld/configure | 23 +++++++++++++++++++++-- ld/configure.ac | 12 ++++++++++++ ld/ldmain.c | 2 +- 12 files changed, 99 insertions(+), 6 deletions(-) diff --git a/configure b/configure index 4d530e6d21d..d7d97700563 100755 --- a/configure +++ b/configure @@ -804,6 +804,7 @@ enable_gold enable_ld enable_gprofng enable_compressed_debug_sections +enable_default_compressed_debug_sections_algorithm enable_year2038 enable_libquadmath enable_libquadmath_support @@ -1543,6 +1544,9 @@ Optional Features: --enable-compressed-debug-sections=3D{all,gas,gold,ld,none} Enable compressed debug sections for gas, gold o= r ld by default + --enable-default-compressed-debug-sections-algorithm=3D{zlib,zstd} + Default compression algorithm for + --enable-compressed-debug-sections. --enable-year2038 enable support for timestamps past the year 2038 --disable-libquadmath do not build libquadmath directory --disable-libquadmath-support @@ -3148,6 +3152,15 @@ else fi =20 =20 +# Select default compression algorithm. +# Check whether --enable-default_compressed_debug_sections_algorithm was g= iven. +if test "${enable_default_compressed_debug_sections_algorithm+set}" =3D se= t; then : + enableval=3D$enable_default_compressed_debug_sections_algorithm; +else + default_compressed_debug_sections_algorithm=3D +fi + + # Configure extra directories which are host specific =20 case "${host}" in diff --git a/configure.ac b/configure.ac index f9a224eb21f..47931ff4e9e 100644 --- a/configure.ac +++ b/configure.ac @@ -426,6 +426,12 @@ AC_ARG_ENABLE(compressed_debug_sections, fi ], [enable_compressed_debug_sections=3D]) =20 +# Select default compression algorithm. +AC_ARG_ENABLE(default_compressed_debug_sections_algorithm, +[AS_HELP_STRING([--enable-default-compressed-debug-sections-algorithm=3D{z= lib,zstd}], + [Default compression algorithm for --enable-compressed-debug-sections.])= ], +[], [default_compressed_debug_sections_algorithm=3D]) + # Configure extra directories which are host specific =20 case "${host}" in diff --git a/gas/NEWS b/gas/NEWS index cc0c62d7f18..16cb347e775 100644 --- a/gas/NEWS +++ b/gas/NEWS @@ -2,6 +2,9 @@ =20 * gas now supports --compress-debug-sections=3Dzstd to compress debug sections with zstd. +* Add --enable-default-compressed-debug-sections-algorithm=3D{zlib,zstd} + that selects the default compression algorithm + for --enable-compressed-debug-sections. =20 * Add support for various T-Head extensions (XTheadBa, XTheadBb, XTheadBs, XTheadCmo, XTheadCondMov, XTheadFMemIdx, XTheadMemIdx, XTheadMemPair, diff --git a/gas/as.c b/gas/as.c index a5c2d2459f7..d42dd5394b5 100644 --- a/gas/as.c +++ b/gas/as.c @@ -226,7 +226,7 @@ print_version_id (void) =20 #ifdef DEFAULT_FLAG_COMPRESS_DEBUG enum compressed_debug_section_type flag_compress_debug - =3D COMPRESS_DEBUG_GABI_ZLIB; + =3D DEFAULT_COMPRESSED_DEBUG_ALGORITHM; #endif =20 static void diff --git a/gas/config.in b/gas/config.in index 0d1668a3eac..232bc350759 100644 --- a/gas/config.in +++ b/gas/config.in @@ -22,6 +22,9 @@ /* Default architecture. */ #undef DEFAULT_ARCH =20 +/* Default compression algorithm for --enable-compressed-debug-sections. */ +#undef DEFAULT_COMPRESSED_DEBUG_ALGORITHM + /* Default CRIS architecture. */ #undef DEFAULT_CRIS_ARCH =20 diff --git a/gas/configure b/gas/configure index 02cded59b6a..cae14c066d2 100755 --- a/gas/configure +++ b/gas/configure @@ -810,6 +810,7 @@ enable_largefile enable_targets enable_checking enable_compressed_debug_sections +enable_default_compressed_debug_sections_algorithm enable_x86_relax_relocations enable_elf_stt_common enable_generate_build_notes @@ -1476,6 +1477,9 @@ Optional Features: --enable-checking enable run-time checks --enable-compressed-debug-sections=3D{all,gas,none} compress debug sections by default + --enable-default-compressed-debug-sections-algorithm=3D{zlib,zstd} + Default compression algorithm for + --enable-compressed-debug-sections. --enable-x86-relax-relocations generate x86 relax relocations by default --enable-elf-stt-common generate ELF common symbols with STT_COMMON type= by @@ -10722,7 +10726,7 @@ else lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 lt_status=3D$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10725 "configure" +#line 10729 "configure" #include "confdefs.h" =20 #if HAVE_DLFCN_H @@ -10828,7 +10832,7 @@ else lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 lt_status=3D$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10831 "configure" +#line 10835 "configure" #include "confdefs.h" =20 #if HAVE_DLFCN_H @@ -11502,6 +11506,15 @@ if test "${enable_compressed_debug_sections+set}" = =3D set; then : esac fi =20 +# Select default compression algorithm. +ac_default_compressed_debug_sections_algorithm=3DCOMPRESS_DEBUG_GABI_ZLIB +# Check whether --enable-default_compressed_debug_sections_algorithm was g= iven. +if test "${enable_default_compressed_debug_sections_algorithm+set}" =3D se= t; then : + enableval=3D$enable_default_compressed_debug_sections_algorithm; case "$= {enableval}" in + zstd) ac_default_compressed_debug_sections_algorithm=3DCOMPRESS_DEBUG_Z= STD ;; +esac +fi + # PR gas/19520 # Decide if x86 assembler should generate relax relocations. ac_default_x86_relax_relocations=3Dunset @@ -12671,6 +12684,12 @@ $as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >= >confdefs.h =20 fi =20 + +cat >>confdefs.h <<_ACEOF +#define DEFAULT_COMPRESSED_DEBUG_ALGORITHM $ac_default_compressed_debug_se= ctions_algorithm +_ACEOF + + # Turn on all targets if possible if test ${all_targets} =3D "yes"; then case ${target_cpu_type} in diff --git a/gas/configure.ac b/gas/configure.ac index e6f3298cb3e..feb43399ce8 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -76,6 +76,15 @@ AC_ARG_ENABLE(compressed_debug_sections, *) ac_default_compressed_debug_sections=3Dunset ;; esac])dnl =20 +# Select default compression algorithm. +ac_default_compressed_debug_sections_algorithm=3DCOMPRESS_DEBUG_GABI_ZLIB +AC_ARG_ENABLE(default_compressed_debug_sections_algorithm, + AS_HELP_STRING([--enable-default-compressed-debug-sections-algorith= m=3D{zlib,zstd}], + [Default compression algorithm for --enable-compressed-debug-sectio= ns.]), +[case "${enableval}" in + zstd) ac_default_compressed_debug_sections_algorithm=3DCOMPRESS_DEBUG_Z= STD ;; +esac])dnl + # PR gas/19520 # Decide if x86 assembler should generate relax relocations. ac_default_x86_relax_relocations=3Dunset @@ -755,6 +764,9 @@ if test x$ac_default_compressed_debug_sections =3D xyes= ; then AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed= debug sections by default.]) fi =20 +AC_DEFINE_UNQUOTED(DEFAULT_COMPRESSED_DEBUG_ALGORITHM, $ac_default_compres= sed_debug_sections_algorithm, + [Default compression algorithm for --enable-compressed-debug-sections= .]) + # Turn on all targets if possible if test ${all_targets} =3D "yes"; then case ${target_cpu_type} in diff --git a/ld/NEWS b/ld/NEWS index dfe2690d9f2..d7ceb0c68b6 100644 --- a/ld/NEWS +++ b/ld/NEWS @@ -2,6 +2,9 @@ =20 * ld now supports zstd compressed debug sections. The new option --compress-debug-sections=3Dzstd compresses debug sections with zstd. +* Add --enable-default-compressed-debug-sections-algorithm=3D{zlib,zstd} + that selects the default compression algorithm + for --enable-compressed-debug-sections. =20 Changes in 2.39: =20 diff --git a/ld/config.in b/ld/config.in index 3916740eee4..ad0dc6a106c 100644 --- a/ld/config.in +++ b/ld/config.in @@ -7,6 +7,9 @@ #endif #define __CONFIG_H__ 1 =20 +/* Default compression algorithm for --enable-compressed-debug-sections. */ +#undef DEFAULT_COMPRESSED_DEBUG_ALGORITHM + /* Define to 1 if you want to emit gnu hash in the ELF linker by default. = */ #undef DEFAULT_EMIT_GNU_HASH =20 diff --git a/ld/configure b/ld/configure index 9dd3ed5f1e7..7906f52aadf 100755 --- a/ld/configure +++ b/ld/configure @@ -841,6 +841,7 @@ with_sysroot enable_gold enable_got enable_compressed_debug_sections +enable_default_compressed_debug_sections_algorithm enable_new_dtags enable_relro enable_textrel_check @@ -1524,6 +1525,9 @@ Optional Features: multigot) --enable-compressed-debug-sections=3D{all,ld,none} compress debug sections by default] + --enable-default-compressed-debug-sections-algorithm=3D{zlib,zstd} + Default compression algorithm for + --enable-compressed-debug-sections. --enable-new-dtags set DT_RUNPATH instead of DT_RPATH by default] --enable-relro enable -z relro in ELF linker by default --enable-textrel-check=3D[yes|no|warning|error] @@ -11620,7 +11624,7 @@ else lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 lt_status=3D$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11623 "configure" +#line 11627 "configure" #include "confdefs.h" =20 #if HAVE_DLFCN_H @@ -11726,7 +11730,7 @@ else lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 lt_status=3D$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11729 "configure" +#line 11733 "configure" #include "confdefs.h" =20 #if HAVE_DLFCN_H @@ -15544,6 +15548,15 @@ if test "${enable_compressed_debug_sections+set}" = =3D set; then : esac fi =20 +# Select default compression algorithm. +ac_default_compressed_debug_sections_algorithm=3DCOMPRESS_DEBUG_GABI_ZLIB +# Check whether --enable-default_compressed_debug_sections_algorithm was g= iven. +if test "${enable_default_compressed_debug_sections_algorithm+set}" =3D se= t; then : + enableval=3D$enable_default_compressed_debug_sections_algorithm; case "$= {enableval}" in + zstd) ac_default_compressed_debug_sections_algorithm=3DCOMPRESS_DEBUG_Z= STD ;; +esac +fi + # Decide setting DT_RUNPATH instead of DT_RPATH by default ac_default_new_dtags=3Dunset # Provide a configure time option to override our default. @@ -17340,6 +17353,12 @@ $as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >= >confdefs.h =20 fi =20 + +cat >>confdefs.h <<_ACEOF +#define DEFAULT_COMPRESSED_DEBUG_ALGORITHM $ac_default_compressed_debug_se= ctions_algorithm +_ACEOF + + if test "${ac_default_new_dtags}" =3D unset; then ac_default_new_dtags=3D0 fi diff --git a/ld/configure.ac b/ld/configure.ac index f1b2f9897f8..6123ea78611 100644 --- a/ld/configure.ac +++ b/ld/configure.ac @@ -163,6 +163,15 @@ AC_ARG_ENABLE(compressed_debug_sections, ,no, | ,none,) ac_default_compressed_debug_sections=3Dno ;; esac])dnl =20 +# Select default compression algorithm. +ac_default_compressed_debug_sections_algorithm=3DCOMPRESS_DEBUG_GABI_ZLIB +AC_ARG_ENABLE(default_compressed_debug_sections_algorithm, + AS_HELP_STRING([--enable-default-compressed-debug-sections-algorith= m=3D{zlib,zstd}], + [Default compression algorithm for --enable-compressed-debug-sectio= ns.]), +[case "${enableval}" in + zstd) ac_default_compressed_debug_sections_algorithm=3DCOMPRESS_DEBUG_Z= STD ;; +esac])dnl + # Decide setting DT_RUNPATH instead of DT_RPATH by default ac_default_new_dtags=3Dunset # Provide a configure time option to override our default. @@ -510,6 +519,9 @@ if test x$ac_default_compressed_debug_sections =3D xyes= ; then AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed= debug sections by default.]) fi =20 +AC_DEFINE_UNQUOTED(DEFAULT_COMPRESSED_DEBUG_ALGORITHM, $ac_default_compres= sed_debug_sections_algorithm, + [Default compression algorithm for --enable-compressed-debug-sections= .]) + if test "${ac_default_new_dtags}" =3D unset; then ac_default_new_dtags=3D0 fi diff --git a/ld/ldmain.c b/ld/ldmain.c index d63002c994a..10f7a0538aa 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -352,7 +352,7 @@ main (int argc, char **argv) link_info.spare_dynamic_tags =3D 5; link_info.path_separator =3D ':'; #ifdef DEFAULT_FLAG_COMPRESS_DEBUG - link_info.compress_debug =3D COMPRESS_DEBUG_GABI_ZLIB; + link_info.compress_debug =3D DEFAULT_COMPRESSED_DEBUG_ALGORITHM; #endif #ifdef DEFAULT_NEW_DTAGS link_info.new_dtags =3D DEFAULT_NEW_DTAGS;