>From my point of view this should be backported to the active branches. Building GCC 5 and GCC 6 with binutils >=2.26 now results in
$ gcc -c -gz foo.c gcc: error: -gz is not supported in this configuration building these GCC version with binutils 2.25 recognizes this option. On 30.05.2016 13:32, Rainer Orth wrote: > * When I removed the default in the gcc_cv_ld_compress test, the outcome > always was 0, irrespective of the linker tested. Before, it would > almost always have been 1 if testing GNU ld. It turns out that in > this (and numerous other) cases the nesting of tests using ld_date was > wrong. I believe most if not all of those ld_date tests can go, being > only relevant for truly prehistoric versions of GNU ld not in use > anymore. I'll probably submit a followup to remove them, simplifying > several ld tests. > > Bootstrapped without regressions on i386-pc-solaris2.1[02] with various > as/ld combinations and checking that the tests yielded the expected > results: > > gcc_cv_as_compress_debug/gcc_cv_ld_compress_debug > as/ld 2.10 0/0 > as/ld 2.12 0/3 > gas 2.26/ld 2.10 2/0 > gas 2.26/ld 2.12 2/3 > gas 2.26/gld 2.26 2/3 the GNU case now reads if test "$ld_vers_major" -lt 2 \ || test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 21; 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 so you end up with different values depending on the linker default. Is this intended? LINK_COMPRESS_DEBUG_SPEC in gcc.c is defined in terms of the linker used at build time, so currently you get the wrong specs when using the non-default linker when selecting the linker at runtime using -fuse-ld=... Matthias