public inbox for gcc-cvs@sourceware.org help / color / mirror / Atom feed
From: Martin Liska <marxin@gcc.gnu.org> To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/marxin/heads/support-gz=zstd)] support -gz=zstd for both linker and assembler Date: Thu, 22 Sep 2022 12:42:16 +0000 (GMT) [thread overview] Message-ID: <20220922124216.6CE7F3857B99@sourceware.org> (raw) https://gcc.gnu.org/g:0dff477e957a16d103d15754fe573d7e592e89dc commit 0dff477e957a16d103d15754fe573d7e592e89dc Author: Martin Liska <mliska@suse.cz> Date: Thu Sep 22 14:30:44 2022 +0200 support -gz=zstd for both linker and assembler PR driver/106897 gcc/ChangeLog: * common.opt: Add -gz=zstd value. * configure.ac: Detect --compress-debug-sections=zstd for both linker and assembler. * configure: Regenerate. * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd. (ASM_COMPRESS_DEBUG_SPEC): Likewise. Diff: --- gcc/common.opt | 5 ++++- gcc/configure | 10 ++++++++++ gcc/configure.ac | 10 ++++++++++ gcc/gcc.cc | 15 +++++++++++++++ 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/gcc/common.opt b/gcc/common.opt index 06ef768ab78..68370db816b 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -3419,7 +3419,10 @@ EnumValue Enum(compressed_debug_sections) String(zlib) Value(1) EnumValue -Enum(compressed_debug_sections) String(zlib-gnu) Value(2) +Enum(compressed_debug_sections) String(zstd) Value(2) + +EnumValue +Enum(compressed_debug_sections) String(zlib-gnu) Value(3) gz Common Driver diff --git a/gcc/configure b/gcc/configure index 70a013e9a30..563a696d183 100755 --- a/gcc/configure +++ b/gcc/configure @@ -29727,6 +29727,12 @@ 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.40, gas supports --compress-debug-sections=zstd. + elif $gcc_cv_as --compress-debug-sections=zstd -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" # Since binutils 2.26, gas supports --compress-debug-sections=zlib, # defaulting to the ELF gABI format. elif $gcc_cv_as --compress-debug-sections=zlib -o conftest.o conftest.s > /dev/null 2>&1 @@ -30251,6 +30257,10 @@ $as_echo_n "checking linker for compressed debug sections... " >&6; } if $gcc_cv_ld --help 2>&1 | grep -- '--compress-debug-sections.*\<zlib-gabi\>' > /dev/null; then gcc_cv_ld_compress_debug=1 gcc_cv_ld_compress_debug_option="--compress-debug-sections" + # Detect zstd debug section compression support + if $gcc_cv_ld --help 2>&1 | grep -- '--compress-debug-sections.*\<zstd\>' > /dev/null; then + gcc_cv_ld_compress_debug=2 + fi else case "${target}" in *-*-solaris2*) diff --git a/gcc/configure.ac b/gcc/configure.ac index 96e10d7c194..f1dc495e470 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -5732,6 +5732,12 @@ gcc_GAS_CHECK_FEATURE([compressed debug sections], 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.40, gas supports --compress-debug-sections=zstd. + elif $gcc_cv_as --compress-debug-sections=zstd -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" # Since binutils 2.26, gas supports --compress-debug-sections=zlib, # defaulting to the ELF gABI format. elif $gcc_cv_as --compress-debug-sections=zlib -o conftest.o conftest.s > /dev/null 2>&1 @@ -6127,6 +6133,10 @@ AC_MSG_CHECKING(linker for compressed debug sections) if $gcc_cv_ld --help 2>&1 | grep -- '--compress-debug-sections.*\<zlib-gabi\>' > /dev/null; then gcc_cv_ld_compress_debug=1 gcc_cv_ld_compress_debug_option="--compress-debug-sections" + # Detect zstd debug section compression support + if $gcc_cv_ld --help 2>&1 | grep -- '--compress-debug-sections.*\<zstd\>' > /dev/null; then + gcc_cv_ld_compress_debug=2 + fi else changequote(,)dnl case "${target}" in diff --git a/gcc/gcc.cc b/gcc/gcc.cc index 7578988efa9..2ffbbc0bf2a 100644 --- a/gcc/gcc.cc +++ b/gcc/gcc.cc @@ -835,6 +835,14 @@ proper position among the other output files. */ #define LINK_COMPRESS_DEBUG_SPEC \ " %{gz|gz=zlib:" LD_COMPRESS_DEBUG_OPTION "=zlib}" \ " %{gz=none:" LD_COMPRESS_DEBUG_OPTION "=none}" \ + " %{gz*:%e-gz=zstd is not supported in this configuration} " \ + " %{gz=zlib-gnu:}" /* Ignore silently zlib-gnu option value. */ +#elif HAVE_LD_COMPRESS_DEBUG == 2 +/* ELF gABI style and ZSTD. */ +#define LINK_COMPRESS_DEBUG_SPEC \ + " %{gz|gz=zlib:" LD_COMPRESS_DEBUG_OPTION "=zlib}" \ + " %{gz=none:" LD_COMPRESS_DEBUG_OPTION "=none}" \ + " %{gz=zstd:" LD_COMPRESS_DEBUG_OPTION "=zstd}" \ " %{gz=zlib-gnu:}" /* Ignore silently zlib-gnu option value. */ #else #error Unknown value for HAVE_LD_COMPRESS_DEBUG. @@ -890,6 +898,13 @@ proper position among the other output files. */ " %{gz|gz=zlib:" AS_COMPRESS_DEBUG_OPTION "=zlib}" \ " %{gz=none:" AS_COMPRESS_DEBUG_OPTION "=none}" \ " %{gz=zlib-gnu:}" /* Ignore silently zlib-gnu option value. */ +#elif HAVE_AS_COMPRESS_DEBUG == 2 +/* ELF gABI style and ZSTD. */ +#define ASM_COMPRESS_DEBUG_SPEC \ + " %{gz|gz=zlib:" AS_COMPRESS_DEBUG_OPTION "=zlib}" \ + " %{gz=none:" AS_COMPRESS_DEBUG_OPTION "=none}" \ + " %{gz=zstd:" AS_COMPRESS_DEBUG_OPTION "=zstd}" \ + " %{gz=zlib-gnu:}" /* Ignore silently zlib-gnu option value. */ #else #error Unknown value for HAVE_AS_COMPRESS_DEBUG. #endif
next reply other threads:[~2022-09-22 12:42 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-09-22 12:42 Martin Liska [this message] -- strict thread matches above, loose matches on Subject: below -- 2022-09-22 12:46 Martin Liska 2022-09-22 12:38 Martin Liska
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220922124216.6CE7F3857B99@sourceware.org \ --to=marxin@gcc.gnu.org \ --cc=gcc-cvs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).