remove -gz=zlib-gnu option value
Commit Message
On 9/21/22 11:35, Richard Biener wrote:
> On Wed, Sep 21, 2022 at 9:49 AM Martin Liška <mliska@suse.cz> wrote:
>>
>> On 9/21/22 09:36, Richard Biener wrote:
>>> If it's all configure time what's the point in
>>> "deprecating" it?
>>
>> Note it's one of our options -gz where 'zlib-gnu' is one of the possible option values.
>
> I see. Not sure if deprecating is really necessary, you need to keep
> recognizing
> zlib-gnu as no-op anyway. So I'd just go ahead and remove support for it.
Hi.
I'm sending patch that makes it no-op and simplifies more the configure.ac detection.
Tested with both ld.bfd and mold:
$ ./xgcc -B. ~/Programming/testcases/a.c -c -gz=zlib --save-temps --verbose 2>&1 | grep =zlib | grep -v COLLECT_GCC_OPTIONS
./cc1 -fpreprocessed a.i -quiet -dumpbase a.c -dumpbase-ext .c -mtune=generic -march=x86-64 -gz=zlib -version -o a.s
./as -v --compress-debug-sections=zlib --64 -o a.o a.s
$ ./xgcc -B. ~/Programming/testcases/a.c -c -gz=zlib-gnu --save-temps --verbose 2>&1 | grep =zlib | grep -v COLLECT_GCC_OPTIONS
./cc1 -fpreprocessed a.i -quiet -dumpbase a.c -dumpbase-ext .c -mtune=generic -march=x86-64 -gz=zlib-gnu -version -o a.s
Ready after it finishes tests?
Thanks,
Martin
>
>> Martin
From 979ab57b853cee002d29d1ac9199021a1866e4fb Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Thu, 22 Sep 2022 13:04:57 +0200
Subject: [PATCH] remove -gz=zlib-gnu option value
The option value is legacy and probably not used at all,
thus ignore it.
gcc/ChangeLog:
* configure: Regenerate.
* configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
and gcc_cv_as_compress_debug={0,1}.
* doc/invoke.texi: Document the removal.
* gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
zlib-gnu.
(ASM_COMPRESS_DEBUG_SPEC): Likewise.
Co-Authored-By: Fangrui Song <i@maskray.me>
---
gcc/configure | 39 +++++++++------------------------------
gcc/configure.ac | 39 +++++++++------------------------------
gcc/doc/invoke.texi | 11 +++++------
gcc/gcc.cc | 26 +++++---------------------
4 files changed, 28 insertions(+), 87 deletions(-)
@@ -29727,16 +29727,9 @@ 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
- 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
+ elif $gcc_cv_as --compress-debug-sections=zlib -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"
@@ -30254,40 +30247,26 @@ $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=1
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
+ gcc_cv_ld_compress_debug_option="--compress-debug-sections"
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=1
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=1
gcc_cv_ld_compress_debug_option="--compress-debug-sections"
fi
else
@@ -30295,7 +30274,7 @@ else
*-*-solaris2*)
# Introduced in Solaris 11.2.
if $gcc_cv_ld --help 2>&1 | grep -- '-z compress-sections' > /dev/null; then
- gcc_cv_ld_compress_debug=3
+ gcc_cv_ld_compress_debug=1
gcc_cv_ld_compress_debug_option="-z compress-sections"
else
gcc_cv_ld_compress_debug=0
@@ -5732,16 +5732,9 @@ 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
- 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
+ elif $gcc_cv_as --compress-debug-sections=zlib -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"
@@ -6130,40 +6123,26 @@ 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=1
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
+ gcc_cv_ld_compress_debug_option="--compress-debug-sections"
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=1
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=1
gcc_cv_ld_compress_debug_option="--compress-debug-sections"
fi
else
@@ -6172,7 +6151,7 @@ changequote(,)dnl
*-*-solaris2*)
# Introduced in Solaris 11.2.
if $gcc_cv_ld --help 2>&1 | grep -- '-z compress-sections' > /dev/null; then
- gcc_cv_ld_compress_debug=3
+ gcc_cv_ld_compress_debug=1
gcc_cv_ld_compress_debug_option="-z compress-sections"
else
gcc_cv_ld_compress_debug=0
@@ -11077,12 +11077,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
@@ -831,21 +831,11 @@ proper position among the other output files. */
#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=zlib-gnu:}" /* Ignore silently zlib-gnu option value. */
#else
#error Unknown value for HAVE_LD_COMPRESS_DEBUG.
#endif
@@ -885,31 +875,25 @@ proper position among the other output files. */
#endif
/* Assembler options for compressed debug sections. */
-#if HAVE_LD_COMPRESS_DEBUG < 2
+#if HAVE_LD_COMPRESS_DEBUG == 0
/* Reject if the linker cannot write compressed debug sections. */
#define ASM_COMPRESS_DEBUG_SPEC \
" %{gz*:%e-gz is not supported in this configuration} "
-#else /* HAVE_LD_COMPRESS_DEBUG >= 2 */
+#else /* HAVE_LD_COMPRESS_DEBUG >= 1 */
#if HAVE_AS_COMPRESS_DEBUG == 0
/* 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=zlib-gnu:}" /* Ignore silently zlib-gnu option value. */
#else
#error Unknown value for HAVE_AS_COMPRESS_DEBUG.
#endif
-#endif /* HAVE_LD_COMPRESS_DEBUG >= 2 */
+#endif /* HAVE_LD_COMPRESS_DEBUG >= 1 */
/* Define ASM_DEBUG_SPEC to be a spec suitable for translating '-g'
to the assembler, when compiling assembly sources only. */
--
2.37.3