From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) by sourceware.org (Postfix) with ESMTPS id C9DA93858419 for ; Fri, 1 Jul 2022 07:03:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C9DA93858419 Received: by mail-lf1-x12a.google.com with SMTP id i18so2264570lfu.8 for ; Fri, 01 Jul 2022 00:03:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=H30gynq88ZqlymWjsshTzQpFpEV87CVrN6tPRbZiWkc=; b=ef8b1fQ2XKPbesBsFTSvPrwqXSDWVHDMIPRar+T427U3k6PGSPjUZu/CicGtY4PJW0 ep29f1FzINk2zxifzUsym9pvz2YCHODY/dxvMXhwzdDzHD6KexACqH/3NDFuOJlh5G6D y0vlpABRp6uHuuF4BzQovZSQ4f1VieEjEoz0wz99iWP6nyYYUv+0e5C1EZxT8zQan/ZU uIzkzWjhoWqdBDXIMrD0slSjT+7gR+yV4wrBrrjRtYIAAjaKR0yvCxiSC164RRg91ZB4 GHGawDFicdQYnKkn8mr38glszWOBE0uPcQ7ESXtUyqYVMhOKHZo3uWOdKxksH38WxI4V zEGw== X-Gm-Message-State: AJIora+OZ7DR/L1zbwzqE42Ym0O4woIAB4z4dLD2aFjBB2C/jhk0ljUe nVUUhqDNftx2trwAomLyWoOlzwr57c95zyG9oLg= X-Google-Smtp-Source: AGRyM1vDiF0rwnzPeW82oOpdphnjwdQEfpo9e/Xm/UCSsRVwNLadh/lKXr0ZiUnBV3/zZ+RwBxPEsJpJUqvFDTThMAo= X-Received: by 2002:a05:6512:31e:b0:47f:6193:2262 with SMTP id t30-20020a056512031e00b0047f61932262mr8110866lfp.502.1656659036042; Fri, 01 Jul 2022 00:03:56 -0700 (PDT) MIME-Version: 1.0 References: <20220701065725.3839926-1-maskray@google.com> In-Reply-To: <20220701065725.3839926-1-maskray@google.com> From: Andrew Pinski Date: Fri, 1 Jul 2022 00:03:42 -0700 Message-ID: Subject: Re: [PATCH] Remove legacy -gz=zlib-gnu To: Fangrui Song Cc: GCC Patches , "H.J. Lu" , Rainer Orth , Fangrui Song Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2022 07:04:00 -0000 On Thu, Jun 30, 2022 at 11:58 PM Fangrui Song via Gcc-patches wrote: > > From: Fangrui Song > > SHF_COMPRESSED style zlib has been supported since binutils 2.26 > and the legacy zlib-gnu option hasn't gain adoption. > According to Debian Code Search (`gz=zlib-gnu`), no project uses > -gz=zlib-gnu (valgrind has a configure to use -gz=zlib). > Remove support for the legacy zlib-gnu and simplify configure.ac by > removing zlib-gnu ld/as check. A couple of things, you are missing a changelog. Second, why remove something which is still working? Third, why not just make gz=zlib-gnu as an alias to gz=zlib instead so if someone used it before it will still work. we try not to remove options; have them emit a warning and be ignored (or moved over to the closed option). Thanks, Andrew > --- > gcc/common.opt | 3 --- > gcc/configure | 33 ++++++--------------------------- > gcc/configure.ac | 29 ++++------------------------- > gcc/doc/invoke.texi | 11 +++++------ > gcc/gcc.cc | 22 ++-------------------- > 5 files changed, 17 insertions(+), 81 deletions(-) > > diff --git a/gcc/common.opt b/gcc/common.opt > index e7a51e882ba..8754d93d545 100644 > --- a/gcc/common.opt > +++ b/gcc/common.opt > @@ -3424,9 +3424,6 @@ Enum(compressed_debug_sections) String(none) Value(0) > EnumValue > Enum(compressed_debug_sections) String(zlib) Value(1) > > -EnumValue > -Enum(compressed_debug_sections) String(zlib-gnu) Value(2) > - > gz > Common Driver > Generate compressed debug sections. > diff --git a/gcc/configure b/gcc/configure > index 62872d132ea..ca87e875e9d 100755 > --- a/gcc/configure > +++ b/gcc/configure > @@ -19674,7 +19674,7 @@ else > lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 > lt_status=$lt_dlunknown > cat > conftest.$ac_ext <<_LT_EOF > -#line 19679 "configure" > +#line 19677 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H > @@ -19780,7 +19780,7 @@ else > lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 > lt_status=$lt_dlunknown > cat > conftest.$ac_ext <<_LT_EOF > -#line 19785 "configure" > +#line 19783 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H > @@ -29711,20 +29711,13 @@ 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.26, gas supports --compress-debug-sections=type, > + # Since binutils 2.26, gas supports --compress-debug-sections=zlib, > # defaulting to the ELF gABI format. > - elif $gcc_cv_as --compress-debug-sections=zlib-gnu -o conftest.o conftest.s > /dev/null 2>&1 > + elif $gcc_cv_as --compress-debug-sections=zlib -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" > - # Before binutils 2.26, gas only supported --compress-debug-options and > - # emitted the traditional GNU format. > - elif $gcc_cv_as --compress-debug-sections -o conftest.o conftest.s > /dev/null 2>&1 > - then > - gcc_cv_as_compress_debug=1 > - gcc_cv_as_compress_debug_option="--compress-debug-sections" > - gcc_cv_as_no_compress_debug_option="--nocompress-debug-sections" > else > gcc_cv_as_compress_debug=0 > fi > @@ -30238,42 +30231,28 @@ $as_echo "$gcc_cv_ld_eh_gc_sections_bug" >&6; } > > { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker for compressed debug sections" >&5 > $as_echo_n "checking linker for compressed debug sections... " >&6; } > -# gold/gld support compressed debug sections since binutils 2.19/2.21 > -# In binutils 2.26, gld gained support for the ELF gABI format. > +# GNU ld/gold support --compressed-debug-sections=zlib since binutils 2.26. > if test $in_tree_ld = yes ; then > gcc_cv_ld_compress_debug=0 > if test $ld_is_mold = yes; then > gcc_cv_ld_compress_debug=3 > gcc_cv_ld_compress_debug_option="--compress-debug-sections" > - elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 19 -o "$gcc_cv_gld_major_version" -gt 2 \ > - && test $in_tree_ld_is_elf = yes && test $ld_is_gold = yes; then > - gcc_cv_ld_compress_debug=2 > - gcc_cv_ld_compress_debug_option="--compress-debug-sections" > elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 26 -o "$gcc_cv_gld_major_version" -gt 2 \ > && test $in_tree_ld_is_elf = yes && test $ld_is_gold = no; then > gcc_cv_ld_compress_debug=3 > gcc_cv_ld_compress_debug_option="--compress-debug-sections" > - elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2 \ > - && test $in_tree_ld_is_elf = yes; then > - gcc_cv_ld_compress_debug=1 > fi > elif echo "$ld_ver" | grep GNU > /dev/null; then > if test $ld_is_mold = yes; then > gcc_cv_ld_compress_debug=3 > gcc_cv_ld_compress_debug_option="--compress-debug-sections" > elif test "$ld_vers_major" -lt 2 \ > - || test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 21; then > + || test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 26; then > gcc_cv_ld_compress_debug=0 > - elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 26; then > - gcc_cv_ld_compress_debug=1 > else > gcc_cv_ld_compress_debug=3 > gcc_cv_ld_compress_debug_option="--compress-debug-sections" > fi > - if test $ld_is_gold = yes; then > - gcc_cv_ld_compress_debug=2 > - gcc_cv_ld_compress_debug_option="--compress-debug-sections" > - fi > else > case "${target}" in > *-*-solaris2*) > diff --git a/gcc/configure.ac b/gcc/configure.ac > index 446747311a6..f40f75271c2 100644 > --- a/gcc/configure.ac > +++ b/gcc/configure.ac > @@ -5733,20 +5733,13 @@ 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.26, gas supports --compress-debug-sections=type, > + # Since binutils 2.26, gas supports --compress-debug-sections=zlib, > # defaulting to the ELF gABI format. > - elif $gcc_cv_as --compress-debug-sections=zlib-gnu -o conftest.o conftest.s > /dev/null 2>&1 > + elif $gcc_cv_as --compress-debug-sections=zlib -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" > - # Before binutils 2.26, gas only supported --compress-debug-options and > - # emitted the traditional GNU format. > - elif $gcc_cv_as --compress-debug-sections -o conftest.o conftest.s > /dev/null 2>&1 > - then > - gcc_cv_as_compress_debug=1 > - gcc_cv_as_compress_debug_option="--compress-debug-sections" > - gcc_cv_as_no_compress_debug_option="--nocompress-debug-sections" > else > gcc_cv_as_compress_debug=0 > fi]) > @@ -6131,42 +6124,28 @@ fi > AC_MSG_RESULT($gcc_cv_ld_eh_gc_sections_bug) > > AC_MSG_CHECKING(linker for compressed debug sections) > -# gold/gld support compressed debug sections since binutils 2.19/2.21 > -# In binutils 2.26, gld gained support for the ELF gABI format. > +# GNU ld/gold support --compressed-debug-sections=zlib since binutils 2.26. > if test $in_tree_ld = yes ; then > gcc_cv_ld_compress_debug=0 > if test $ld_is_mold = yes; then > gcc_cv_ld_compress_debug=3 > gcc_cv_ld_compress_debug_option="--compress-debug-sections" > - elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 19 -o "$gcc_cv_gld_major_version" -gt 2 \ > - && test $in_tree_ld_is_elf = yes && test $ld_is_gold = yes; then > - gcc_cv_ld_compress_debug=2 > - gcc_cv_ld_compress_debug_option="--compress-debug-sections" > elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 26 -o "$gcc_cv_gld_major_version" -gt 2 \ > && test $in_tree_ld_is_elf = yes && test $ld_is_gold = no; then > gcc_cv_ld_compress_debug=3 > gcc_cv_ld_compress_debug_option="--compress-debug-sections" > - elif test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 21 -o "$gcc_cv_gld_major_version" -gt 2 \ > - && test $in_tree_ld_is_elf = yes; then > - gcc_cv_ld_compress_debug=1 > fi > elif echo "$ld_ver" | grep GNU > /dev/null; then > if test $ld_is_mold = yes; then > gcc_cv_ld_compress_debug=3 > gcc_cv_ld_compress_debug_option="--compress-debug-sections" > elif test "$ld_vers_major" -lt 2 \ > - || test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 21; then > + || test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 26; then > gcc_cv_ld_compress_debug=0 > - elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 26; then > - gcc_cv_ld_compress_debug=1 > else > gcc_cv_ld_compress_debug=3 > gcc_cv_ld_compress_debug_option="--compress-debug-sections" > fi > - if test $ld_is_gold = yes; then > - gcc_cv_ld_compress_debug=2 > - gcc_cv_ld_compress_debug_option="--compress-debug-sections" > - fi > else > changequote(,)dnl > case "${target}" in > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index 757775ea576..467659cb094 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -10775,12 +10775,11 @@ location views are enabled. > Produce compressed debug sections in DWARF format, if that is supported. > If @var{type} is not given, the default type depends on the capabilities > of the assembler and linker used. @var{type} may be one of > -@samp{none} (don't compress debug sections), @samp{zlib} (use zlib > -compression in ELF gABI format), or @samp{zlib-gnu} (use zlib > -compression in traditional GNU format). If the linker doesn't support > -writing compressed debug sections, the option is rejected. Otherwise, > -if the assembler does not support them, @option{-gz} is silently ignored > -when producing object files. > +@samp{none} (don't compress debug sections), or @samp{zlib} (use zlib > +compression in ELF gABI format). If the linker doesn't support writing > +compressed debug sections, the option is rejected. Otherwise, if the > +assembler does not support them, @option{-gz} is silently ignored when > +producing object files. > > @item -femit-struct-debug-baseonly > @opindex femit-struct-debug-baseonly > diff --git a/gcc/gcc.cc b/gcc/gcc.cc > index 5cbb38560b2..660cd6f4ef4 100644 > --- a/gcc/gcc.cc > +++ b/gcc/gcc.cc > @@ -827,22 +827,11 @@ proper position among the other output files. */ > /* No linker support. */ > #define LINK_COMPRESS_DEBUG_SPEC \ > " %{gz*:%e-gz is not supported in this configuration} " > -#elif HAVE_LD_COMPRESS_DEBUG == 1 > -/* GNU style on input, GNU ld options. Reject, not useful. */ > -#define LINK_COMPRESS_DEBUG_SPEC \ > - " %{gz*:%e-gz is not supported in this configuration} " > -#elif HAVE_LD_COMPRESS_DEBUG == 2 > -/* GNU style, GNU gold options. */ > -#define LINK_COMPRESS_DEBUG_SPEC \ > - " %{gz|gz=zlib-gnu:" LD_COMPRESS_DEBUG_OPTION "=zlib}" \ > - " %{gz=none:" LD_COMPRESS_DEBUG_OPTION "=none}" \ > - " %{gz=zlib:%e-gz=zlib is not supported in this configuration} " > #elif HAVE_LD_COMPRESS_DEBUG == 3 > /* ELF gABI style. */ > #define LINK_COMPRESS_DEBUG_SPEC \ > " %{gz|gz=zlib:" LD_COMPRESS_DEBUG_OPTION "=zlib}" \ > - " %{gz=none:" LD_COMPRESS_DEBUG_OPTION "=none}" \ > - " %{gz=zlib-gnu:" LD_COMPRESS_DEBUG_OPTION "=zlib-gnu} " > + " %{gz=none:" LD_COMPRESS_DEBUG_OPTION "=none}" > #else > #error Unknown value for HAVE_LD_COMPRESS_DEBUG. > #endif > @@ -891,18 +880,11 @@ proper position among the other output files. */ > /* No assembler support. Ignore silently. */ > #define ASM_COMPRESS_DEBUG_SPEC \ > " %{gz*:} " > -#elif HAVE_AS_COMPRESS_DEBUG == 1 > -/* GNU style, GNU as options. */ > -#define ASM_COMPRESS_DEBUG_SPEC \ > - " %{gz|gz=zlib-gnu:" AS_COMPRESS_DEBUG_OPTION "}" \ > - " %{gz=none:" AS_NO_COMPRESS_DEBUG_OPTION "}" \ > - " %{gz=zlib:%e-gz=zlib is not supported in this configuration} " > #elif HAVE_AS_COMPRESS_DEBUG == 2 > /* ELF gABI style. */ > #define ASM_COMPRESS_DEBUG_SPEC \ > " %{gz|gz=zlib:" AS_COMPRESS_DEBUG_OPTION "=zlib}" \ > - " %{gz=none:" AS_COMPRESS_DEBUG_OPTION "=none}" \ > - " %{gz=zlib-gnu:" AS_COMPRESS_DEBUG_OPTION "=zlib-gnu} " > + " %{gz=none:" AS_COMPRESS_DEBUG_OPTION "=none}" > #else > #error Unknown value for HAVE_AS_COMPRESS_DEBUG. > #endif > -- > 2.37.0.rc0.161.g10f37bed90-goog >