Hello. > So this might break there, I don't know if this test would work with > the hp linker though. > (and yes hppa64-hp-hpux11 was working on the trunk as of a little over > a month ago: > https://gcc.gnu.org/pipermail/gcc-testresults/2025-October/858909.html).
Fair point! Let's make the detection first use `--no-gc-sections`, and them fall back to without the option. I'm also including the ChangeLog in the V2 of the patch. Thanks, Martin On 11/17/25 6:25 AM, Andrew Pinski wrote: > So this might break there, I don't know if this test would work with > the hp linker though. > (and yes hppa64-hp-hpux11 was working on the trunk as of a little over > a month ago: > https://gcc.gnu.org/pipermail/gcc-testresults/2025-October/858909.html).
From b901e955f79b829281647d3b8efc4b9d877dbef2 Mon Sep 17 00:00:00 2001 From: Martin Liska <[email protected]> Date: Sun, 2 Nov 2025 09:47:34 +0100 Subject: [PATCH] support Wild linker gcc/ChangeLog: * collect2.cc (main): Add wild linker to -fuse-ld. * common.opt: Likewise. * configure: Regenerate. * configure.ac: Add detection for wild linker. * doc/invoke.texi: Document -fuse-ld=wild. * gcc.cc (driver_handle_option): Support -fuse-ld=wold. * opts.cc (common_handle_option): Likewise. libatomic/ChangeLog: * acinclude.m4: Add detection for wild linker. * configure: Regenerate. libgomp/ChangeLog: * acinclude.m4:: Add detection for wild linker. * configure: Regenerate. libitm/ChangeLog: * acinclude.m4:: Add detection for wild linker. * configure: Regenerate. libstdc++-v3/ChangeLog: * acinclude.m4:: Add detection for wild linker. * configure: Regenerate. --- gcc/collect2.cc | 13 ++++-- gcc/common.opt | 4 ++ gcc/configure | 21 +++++++++- gcc/configure.ac | 85 +++++++++++++++++++++++---------------- gcc/doc/invoke.texi | 6 ++- gcc/gcc.cc | 5 +++ gcc/opts.cc | 1 + libatomic/acinclude.m4 | 6 +++ libatomic/configure | 5 +++ libgomp/acinclude.m4 | 6 +++ libgomp/configure | 5 +++ libitm/acinclude.m4 | 6 +++ libitm/configure | 5 +++ libstdc++-v3/acinclude.m4 | 8 +++- libstdc++-v3/configure | 49 +++++++++++++++++----- 15 files changed, 174 insertions(+), 51 deletions(-) diff --git a/gcc/collect2.cc b/gcc/collect2.cc index 268ac378b9c..e84dc1cd437 100644 --- a/gcc/collect2.cc +++ b/gcc/collect2.cc @@ -777,6 +777,7 @@ main (int argc, char **argv) USE_BFD_LD, USE_LLD_LD, USE_MOLD_LD, + USE_WILD_LD, USE_LD_MAX } selected_linker = USE_DEFAULT_LD; static const char *const ld_suffixes[USE_LD_MAX] = @@ -786,7 +787,8 @@ main (int argc, char **argv) "ld.gold", "ld.bfd", "ld.lld", - "ld.mold" + "ld.mold", + "wild" }; static const char *const real_ld_suffix = "real-ld"; static const char *const collect_ld_suffix = "collect-ld"; @@ -868,7 +870,7 @@ main (int argc, char **argv) #ifdef CROSS_DIRECTORY_STRUCTURE /* lld and mold are platform-agnostic and not prefixed with target triple. */ - if (!(i == USE_LLD_LD || i == USE_MOLD_LD)) + if (!(i == USE_LLD_LD || i == USE_MOLD_LD || i == USE_WILD_LD)) full_ld_suffixes[i] = concat (target_machine, "-", ld_suffixes[i], NULL); else @@ -964,6 +966,8 @@ main (int argc, char **argv) selected_linker = USE_LLD_LD; else if (strcmp (argv[i], "-fuse-ld=mold") == 0) selected_linker = USE_MOLD_LD; + else if (strcmp (argv[i], "-fuse-ld=wild") == 0) + selected_linker = USE_WILD_LD; else if (startswith (argv[i], "-o")) { /* Parse the output filename if it's given so that we can make @@ -1056,7 +1060,8 @@ main (int argc, char **argv) ld_file_name = 0; #ifdef DEFAULT_LINKER if (selected_linker == USE_BFD_LD || selected_linker == USE_GOLD_LD || - selected_linker == USE_LLD_LD || selected_linker == USE_MOLD_LD) + selected_linker == USE_LLD_LD || selected_linker == USE_MOLD_LD || + selected_linker == USE_WILD_LD) { char *linker_name; # ifdef HOST_EXECUTABLE_SUFFIX @@ -1293,7 +1298,7 @@ main (int argc, char **argv) else if (!use_collect_ld && startswith (arg, "-fuse-ld=")) { - /* Do not pass -fuse-ld={bfd|gold|lld|mold} to the linker. */ + /* Do not pass -fuse-ld={bfd|gold|lld|mold|wild} to the linker. */ ld1--; ld2--; } diff --git a/gcc/common.opt b/gcc/common.opt index 9bc0c65c457..d44f713ae34 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -3448,6 +3448,10 @@ fuse-ld=mold Common Driver Negative(fuse-ld=mold) Use the Modern linker (MOLD) linker instead of the default linker. +fuse-ld=wild +Common Driver Negative(fuse-ld=wild) +Use the Wild linker instead of the default linker. + fuse-linker-plugin Common Undocumented Var(flag_use_linker_plugin) diff --git a/gcc/configure b/gcc/configure index 0e8a63c34fa..6065ac80acb 100755 --- a/gcc/configure +++ b/gcc/configure @@ -25562,6 +25562,18 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_is_mold" >&5 $as_echo "$ld_is_mold" >&6; } +# Check to see if we are using Wild instead of ld +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using wild" >&5 +$as_echo_n "checking whether we are using wild... " >&6; } +ld_is_wild=no +if test x$gcc_cv_ld != x; then + if $gcc_cv_ld --version 2>/dev/null | sed 1q \ + | grep "Wild" > /dev/null; then + ld_is_wild=yes + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_is_wild" >&5 +$as_echo "$ld_is_wild" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking gold linker with split stack support as non default" >&5 $as_echo_n "checking gold linker with split stack support as non default... " >&6; } @@ -26526,6 +26538,8 @@ else : elif test x"$ld_is_mold" = xyes; then : + elif test x"$ld_is_wild" = xyes; then + : elif echo "$ld_ver" | grep GNU > /dev/null; then if test 0"$ld_date" -lt 20020404; then if test -n "$ld_date"; then @@ -26598,8 +26612,11 @@ elif test x"$gcc_cv_as" != x -a x"$gcc_cv_ld" != x -a x"$gcc_cv_objdump" != x ; if $gcc_cv_as -o conftest1.o conftest1.s > /dev/null 2>&1 \ && $gcc_cv_as -o conftest2.o conftest2.s > /dev/null 2>&1 \ && $gcc_cv_as -o conftest3.o conftest3.s > /dev/null 2>&1; then + # Note the Wild linker has --gc-sections on by default. if $gcc_cv_ld -shared -o conftest1.so conftest1.o \ - conftest2.o conftest3.o > /dev/null 2>&1 \ + conftest2.o conftest3.o --no-gc-sections > /dev/null 2>&1 \ + || $gcc_cv_ld -shared -o conftest1.so conftest1.o \ + conftest2.o conftest3.o > /dev/null 2>&1 \ || $gcc_cv_ld -r -o conftest1.so conftest1.o \ conftest2.o conftest3.o > /dev/null 2>&1; then gcc_cv_ld_ro_rw_mix=`$gcc_cv_objdump -h conftest1.so \ @@ -27653,6 +27670,8 @@ if test x"$ld_is_gold" = xyes; then comdat_group=yes elif test x"$ld_is_mold" = xyes; then comdat_group=yes +elif test x"$ld_is_wild" = xyes; then + comdat_group=yes elif test $in_tree_ld = yes ; then comdat_group=no if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \ diff --git a/gcc/configure.ac b/gcc/configure.ac index a3243256af0..ce727ee8675 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -137,7 +137,7 @@ AC_ARG_WITH([native-system-header-dir], configured_native_system_header_dir="${withval}" ], [configured_native_system_header_dir=]) -AC_ARG_WITH(build-sysroot, +AC_ARG_WITH(build-sysroot, [AS_HELP_STRING([--with-build-sysroot=sysroot], [use sysroot as the system root during the build])], [if test x"$withval" != x ; then @@ -169,10 +169,10 @@ AC_ARG_WITH(sysroot, yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_noncanonical}/sys-root' ;; *) TARGET_SYSTEM_ROOT=$with_sysroot ;; esac - + TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"' CROSS_SYSTEM_HEADER_DIR='$(TARGET_SYSTEM_ROOT)$${sysroot_headers_suffix}$(NATIVE_SYSTEM_HEADER_DIR)' - + case ${TARGET_SYSTEM_ROOT} in "${test_prefix}"|"${test_prefix}/"*|\ "${test_exec_prefix}"|"${test_exec_prefix}/"*|\ @@ -304,14 +304,14 @@ elif test x$withval != xno; then fi]) # We would like to our source tree to be readonly. However when releases or -# pre-releases are generated, the flex/bison generated files as well as the +# pre-releases are generated, the flex/bison generated files as well as the # various formats of manuals need to be included along with the rest of the -# sources. Therefore we have --enable-generated-files-in-srcdir to do +# sources. Therefore we have --enable-generated-files-in-srcdir to do # just that. AC_MSG_CHECKING([whether to place generated files in the source directory]) dnl generated-files-in-srcdir is disabled by default - AC_ARG_ENABLE(generated-files-in-srcdir, + AC_ARG_ENABLE(generated-files-in-srcdir, [AS_HELP_STRING([--enable-generated-files-in-srcdir], [put copies of generated files in source dir intended for creating source tarballs for users @@ -593,7 +593,7 @@ ACX_PROG_CXX_WARNING_OPTS( ACX_PROG_CC_WARNING_OPTS( m4_quote(m4_do([-Wold-style-definition -Wc++-compat])), [c_strict_warn]) ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC( - m4_quote(m4_do([-Wno-long-long -Wno-variadic-macros ], + m4_quote(m4_do([-Wno-long-long -Wno-variadic-macros ], [-Wno-overlength-strings])), [strict_warn]) ACX_PROG_CXX_WARNINGS_ARE_ERRORS([manual], [strict_warn]) @@ -613,7 +613,7 @@ AC_SUBST(warn_cxxflags) ACX_PROG_CC_WARNING_OPTS( m4_quote(m4_do([-fno-exceptions -fno-rtti -fasynchronous-unwind-tables])), [noexception_flags]) - + # Enable expensive internal checks is_release= if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then @@ -802,7 +802,7 @@ esac], [coverage_flags=""]) AC_SUBST(coverage_flags) -AC_ARG_ENABLE(gather-detailed-mem-stats, +AC_ARG_ENABLE(gather-detailed-mem-stats, [AS_HELP_STRING([--enable-gather-detailed-mem-stats], [enable detailed memory allocation stats gathering])], [], [enable_gather_detailed_mem_stats=no]) @@ -1217,7 +1217,7 @@ ACX_PROG_LN($LN_S) AC_PROG_RANLIB ranlib_flags="" AC_SUBST(ranlib_flags) - + gcc_AC_PROG_INSTALL # See if cmp has --ignore-initial. @@ -1585,7 +1585,7 @@ GCC_AC_FUNC_MMAP_BLACKLIST case "${host}" in *-*-*vms*) - # Under VMS, vfork works very differently than on Unix. The standard test + # Under VMS, vfork works very differently than on Unix. The standard test # won't work, and it isn't easily adaptable. It makes more sense to # just force it. ac_cv_func_vfork_works=yes @@ -1840,7 +1840,7 @@ fi CFLAGS="$saved_CFLAGS" CXXFLAGS="$saved_CXXFLAGS" -# mkdir takes a single argument on some systems. +# mkdir takes a single argument on some systems. gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG # File extensions @@ -2100,7 +2100,7 @@ if test x$enable___cxa_atexit = xyes || \ esac else # We can't check for __cxa_atexit when building a cross, so assume - # it is available + # it is available use_cxa_atexit=yes fi if test x$use_cxa_atexit = xyes; then @@ -2133,7 +2133,7 @@ AC_SUBST(extra_opt_files) # auto-host.h is the file containing items generated by autoconf and is # the first file included by config.h. # If host=build, it is correct to have bconfig include auto-host.h -# as well. If host!=build, we are in error and need to do more +# as well. If host!=build, we are in error and need to do more # work to find out the build config parameters. if test x$host = x$build then @@ -2143,7 +2143,7 @@ else # We create a subdir, then run autoconf in the subdir. # To prevent recursion we set host and build for the new # invocation of configure to the build for this invocation - # of configure. + # of configure. tempdir=build.$$ rm -rf $tempdir mkdir $tempdir @@ -2349,7 +2349,7 @@ case $host_os in && test "x$enable_win32_registry" != x; then AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$enable_win32_registry", [Define to be the last component of the Windows registry key under which - to look for installation paths. The full key used will be + to look for installation paths. The full key used will be HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. The default is the GCC version number.]) fi @@ -2614,7 +2614,7 @@ AC_SUBST([collect2]) case $use_collect2 in no) use_collect2= ;; "") ;; - *) + *) host_xm_defines="${host_xm_defines} USE_COLLECT2" xm_defines="${xm_defines} USE_COLLECT2" case $host_can_use_collect2 in @@ -2694,7 +2694,7 @@ AC_SUBST(ORIGINAL_AS_FOR_TARGET) case "$ORIGINAL_AS_FOR_TARGET" in ./as | ./as$build_exeext) ;; *) AC_CONFIG_FILES(as:exec-tool.in, [chmod +x as]) ;; -esac +esac default_ld= AC_ARG_ENABLE(ld, @@ -2797,12 +2797,22 @@ if test x$gcc_cv_ld != x; then fi AC_MSG_RESULT($ld_is_mold) +# Check to see if we are using Wild instead of ld +AC_MSG_CHECKING(whether we are using wild) +ld_is_wild=no +if test x$gcc_cv_ld != x; then + if $gcc_cv_ld --version 2>/dev/null | sed 1q \ + | grep "Wild" > /dev/null; then + ld_is_wild=yes + fi +fi +AC_MSG_RESULT($ld_is_wild) AC_MSG_CHECKING(gold linker with split stack support as non default) # Check to see if default ld is not gold, but gold is # available and has support for split stack. If gcc was configured # with gold then no checking is done. -# +# if test x$ld_is_gold = xno && which ${gcc_cv_ld}.gold >/dev/null 2>&1; then # For platforms other than powerpc64*, enable as appropriate. @@ -2839,7 +2849,7 @@ AC_SUBST(ORIGINAL_LD_FOR_TARGET) case "$ORIGINAL_LD_FOR_TARGET" in ./collect-ld | ./collect-ld$build_exeext) ;; *) AC_CONFIG_FILES(collect-ld:exec-tool.in, [chmod +x collect-ld]) ;; -esac +esac AC_MSG_CHECKING(what linker to use) if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext \ @@ -3006,7 +3016,7 @@ AC_SUBST(ORIGINAL_DSYMUTIL_FOR_TARGET) case "$ORIGINAL_DSYMUTIL_FOR_TARGET" in ./dsymutil | ./dsymutil$build_exeext) ;; *) AC_CONFIG_FILES(dsymutil:exec-tool.in, [chmod +x dsymutil]) ;; -esac +esac # Figure out what assembler alignment features are present. gcc_GAS_CHECK_FEATURE([.balign and .p2align], gcc_cv_as_balign_and_p2align,, @@ -3219,6 +3229,8 @@ else : elif test x"$ld_is_mold" = xyes; then : + elif test x"$ld_is_wild" = xyes; then + : elif echo "$ld_ver" | grep GNU > /dev/null; then if test 0"$ld_date" -lt 20020404; then if test -n "$ld_date"; then @@ -3286,8 +3298,11 @@ elif test x"$gcc_cv_as" != x -a x"$gcc_cv_ld" != x -a x"$gcc_cv_objdump" != x ; if $gcc_cv_as -o conftest1.o conftest1.s > /dev/null 2>&1 \ && $gcc_cv_as -o conftest2.o conftest2.s > /dev/null 2>&1 \ && $gcc_cv_as -o conftest3.o conftest3.s > /dev/null 2>&1; then + # Note the Wild linker has --gc-sections on by default. if $gcc_cv_ld -shared -o conftest1.so conftest1.o \ - conftest2.o conftest3.o > /dev/null 2>&1 \ + conftest2.o conftest3.o --no-gc-sections > /dev/null 2>&1 \ + || $gcc_cv_ld -shared -o conftest1.so conftest1.o \ + conftest2.o conftest3.o > /dev/null 2>&1 \ || $gcc_cv_ld -r -o conftest1.so conftest1.o \ conftest2.o conftest3.o > /dev/null 2>&1; then gcc_cv_ld_ro_rw_mix=`$gcc_cv_objdump -h conftest1.so \ @@ -3585,7 +3600,7 @@ if test $gcc_cv_as_section_exclude_e = no; then ;; i?86-*-solaris2* | x86_64-*-solaris2*) conftest_s='.section foo1, #exclude' - ;; + ;; esac ;; esac @@ -3703,6 +3718,8 @@ if test x"$ld_is_gold" = xyes; then comdat_group=yes elif test x"$ld_is_mold" = xyes; then comdat_group=yes +elif test x"$ld_is_wild" = xyes; then + comdat_group=yes elif test $in_tree_ld = yes ; then comdat_group=no if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \ @@ -3835,17 +3852,17 @@ foo: .long 25 addil LT%foo-$tls_gdidx$,gp ldo RT%foo-$tls_gdidx$(%r1),%arg0 b __tls_get_addr - nop + nop addil LT%foo-$tls_ldidx$,gp b __tls_get_addr ldo RT%foo-$tls_ldidx$(%r1),%arg0 addil LR%foo-$tls_dtpoff$,%ret0 ldo RR%foo-$tls_dtpoff$(%r1),%t1 - mfctl %cr27,%t1 + mfctl %cr27,%t1 addil LT%foo-$tls_ieoff$,gp ldw RT%foo-$tls_ieoff$(%r1),%t2 - add %t1,%t2,%t3 - mfctl %cr27,%t1 + add %t1,%t2,%t3 + mfctl %cr27,%t1 addil LR%foo-$tls_leoff$,%t1 ldo RR%foo-$tls_leoff$(%r1),%t2' tls_as_opt=--fatal-warnings @@ -3911,7 +3928,7 @@ foo: .long 25 case $gas_flag in yes) tls_as_opt="$tls_as_opt --64" ;; no) tls_as_opt="$tls_as_opt -xarch=amd64" ;; - esac + esac fi conftest_s="$conftest_s foo: .long 25 @@ -5044,7 +5061,7 @@ tls_ld: .section .text,"ax",@progbits .globl _start .type _start, @function -_start: +_start: leal value@tlsldm(%ebx), %eax call ___tls_get_addr@plt @@ -6887,7 +6904,7 @@ AC_CACHE_CHECK(linker --sysroot support, if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 ; then gcc_cv_ld_sysroot=yes fi - elif test x$gcc_cv_ld != x; then + elif test x$gcc_cv_ld != x; then if $gcc_cv_ld --help 2>&1 | grep sysroot > /dev/null; then gcc_cv_ld_sysroot=yes fi @@ -6895,7 +6912,7 @@ AC_CACHE_CHECK(linker --sysroot support, if test x"$gcc_cv_ld_sysroot" = xyes; then AC_DEFINE(HAVE_LD_SYSROOT, 1, [Define if your linker supports --sysroot.]) -fi +fi AC_ARG_ENABLE(libssp, [AS_HELP_STRING([--enable-libssp], [enable linking against libssp])], @@ -7273,7 +7290,7 @@ changequote(,)dnl # sources implementing front-end to GCC tree converters), and for # build infrastructure purposes (Make-lang.in, etc.) # - # This will be <subdir> (relative to $srcdir) if a line like + # This will be <subdir> (relative to $srcdir) if a line like # gcc_subdir="<subdir>" or gcc_subdir=<subdir> # is found in <langdir>/config-lang.in, and will remain <langdir> # otherwise. @@ -7571,7 +7588,7 @@ AC_ARG_VAR(GMPINC,[How to find GMP include files]) AC_ARG_VAR(ISLLIBS,[How to link isl]) AC_ARG_VAR(ISLINC,[How to find isl include files]) -if test "x${ISLLIBS}" != "x" ; then +if test "x${ISLLIBS}" != "x" ; then AC_DEFINE(HAVE_isl, 1, [Define if isl is in use.]) fi @@ -8015,6 +8032,6 @@ for d in $subdirs doc build common c-family do test -d $d || mkdir $d done -], +], [subdirs='$subdirs']) AC_OUTPUT diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index df4331fbad0..35f02bbe970 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -16333,7 +16333,7 @@ as a parameter of @code{free} call or compared with @code{NULL}. If with @option{-fmalloc-dce=2} also comparisons with @code{NULL} pointer are considered safe to remove. -The default is @option{-fmalloc-dce=2}. See also @option{-fallocation-dce}. +The default is @option{-fmalloc-dce=2}. See also @option{-fallocation-dce}. @opindex fmove-loop-invariants @item -fmove-loop-invariants @@ -19758,6 +19758,10 @@ Use the LLVM @command{lld} linker instead of the default linker. @item -fuse-ld=mold Use the Modern Linker (@command{mold}) instead of the default linker. +@opindex fuse-ld=wild +@item -fuse-ld=wild +Use the Wild linker (@command{wild}) instead of the default linker. + @cindex Libraries @opindex l @item -l@var{library} diff --git a/gcc/gcc.cc b/gcc/gcc.cc index eae7f07d962..7967baca2da 100644 --- a/gcc/gcc.cc +++ b/gcc/gcc.cc @@ -4290,6 +4290,11 @@ driver_handle_option (struct gcc_options *opts, use_ld = ".mold"; break; + case OPT_fuse_ld_wild: + use_ld = ".wild"; + break; + + case OPT_fcompare_debug_second: compare_debug_second = 1; break; diff --git a/gcc/opts.cc b/gcc/opts.cc index ceb1e0f445b..38f96efe766 100644 --- a/gcc/opts.cc +++ b/gcc/opts.cc @@ -3382,6 +3382,7 @@ common_handle_option (struct gcc_options *opts, case OPT_fuse_ld_gold: case OPT_fuse_ld_lld: case OPT_fuse_ld_mold: + case OPT_fuse_ld_wild: case OPT_fuse_linker_plugin: /* No-op. Used by the driver and passed to us because it starts with f.*/ break; diff --git a/libatomic/acinclude.m4 b/libatomic/acinclude.m4 index f35ab5b60a5..181233f1b56 100644 --- a/libatomic/acinclude.m4 +++ b/libatomic/acinclude.m4 @@ -300,6 +300,7 @@ dnl Sets: dnl with_gnu_ld dnl libat_ld_is_gold (possibly) dnl libat_ld_is_mold (possibly) +dnl libat_ld_is_wild (possibly) dnl libat_gnu_ld_version (possibly) dnl dnl The last will be a single integer, e.g., version 1.23.45.0.67.89 will @@ -333,10 +334,13 @@ AC_DEFUN([LIBAT_CHECK_LINKER_FEATURES], [ # does some of this, but throws away the result. libat_ld_is_gold=no libat_ld_is_mold=no + libat_ld_is_wild=no if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then libat_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then libat_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + libat_ld_is_wild=yes fi changequote(,) ldver=`$LD --version 2>/dev/null | @@ -494,6 +498,8 @@ if test $enable_symvers != no && test $libat_shared_libgcc = yes; then enable_symvers=gnu elif test $libat_ld_is_mold = yes ; then enable_symvers=gnu + elif test $libat_ld_is_wild = yes ; then + enable_symvers=gnu else # The right tools, the right setup, but too old. Fallbacks? AC_MSG_WARN(=== Linker version $libat_gnu_ld_version is too old for) diff --git a/libatomic/configure b/libatomic/configure index b6bd456f015..dd0f0867356 100755 --- a/libatomic/configure +++ b/libatomic/configure @@ -15688,10 +15688,13 @@ with_gnu_ld=$lt_cv_prog_gnu_ld # does some of this, but throws away the result. libat_ld_is_gold=no libat_ld_is_mold=no + libat_ld_is_wild=no if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then libat_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then libat_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + libat_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | @@ -15896,6 +15899,8 @@ if test $enable_symvers != no && test $libat_shared_libgcc = yes; then enable_symvers=gnu elif test $libat_ld_is_mold = yes ; then enable_symvers=gnu + elif test $libat_ld_is_wild = yes ; then + enable_symvers=gnu else # The right tools, the right setup, but too old. Fallbacks? { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Linker version $libat_gnu_ld_version is too old for" >&5 diff --git a/libgomp/acinclude.m4 b/libgomp/acinclude.m4 index 12fbb20066c..94820595996 100644 --- a/libgomp/acinclude.m4 +++ b/libgomp/acinclude.m4 @@ -118,6 +118,7 @@ dnl Sets: dnl with_gnu_ld dnl libgomp_ld_is_gold (possibly) dnl libgomp_ld_is_mold (possibly) +dnl libgomp_ld_is_wild (possibly) dnl libgomp_gnu_ld_version (possibly) dnl dnl The last will be a single integer, e.g., version 1.23.45.0.67.89 will @@ -151,10 +152,13 @@ AC_DEFUN([LIBGOMP_CHECK_LINKER_FEATURES], [ # does some of this, but throws away the result. libgomp_ld_is_gold=no libgomp_ld_is_mold=no + libgomp_ld_is_wild=no if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then libgomp_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold'> /dev/null 2>&1; then libgomp_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild'> /dev/null 2>&1; then + libgomp_ld_is_wild=yes fi changequote(,) ldver=`$LD --version 2>/dev/null | @@ -312,6 +316,8 @@ if test $enable_symvers != no && test $libgomp_shared_libgcc = yes; then enable_symvers=gnu elif test $libgomp_ld_is_mold = yes ; then enable_symvers=gnu + elif test $libgomp_ld_is_wild = yes ; then + enable_symvers=gnu else # The right tools, the right setup, but too old. Fallbacks? AC_MSG_WARN(=== Linker version $libgomp_gnu_ld_version is too old for) diff --git a/libgomp/configure b/libgomp/configure index f522a6e5d27..da48c833413 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -16544,10 +16544,13 @@ with_gnu_ld=$lt_cv_prog_gnu_ld # does some of this, but throws away the result. libgomp_ld_is_gold=no libgomp_ld_is_mold=no + libgomp_ld_is_wild=no if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then libgomp_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold'> /dev/null 2>&1; then libgomp_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild'> /dev/null 2>&1; then + libgomp_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | @@ -16752,6 +16755,8 @@ if test $enable_symvers != no && test $libgomp_shared_libgcc = yes; then enable_symvers=gnu elif test $libgomp_ld_is_mold = yes ; then enable_symvers=gnu + elif test $libgomp_ld_is_wild = yes ; then + enable_symvers=gnu else # The right tools, the right setup, but too old. Fallbacks? { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Linker version $libgomp_gnu_ld_version is too old for" >&5 diff --git a/libitm/acinclude.m4 b/libitm/acinclude.m4 index 9fd12e6ee7d..73ab59927c0 100644 --- a/libitm/acinclude.m4 +++ b/libitm/acinclude.m4 @@ -211,6 +211,7 @@ dnl Sets: dnl with_gnu_ld dnl libitm_ld_is_gold (possibly) dnl libitm_ld_is_mold (possibly) +dnl libitm_ld_is_wild (possibly) dnl libitm_gnu_ld_version (possibly) dnl dnl The last will be a single integer, e.g., version 1.23.45.0.67.89 will @@ -244,10 +245,13 @@ AC_DEFUN([LIBITM_CHECK_LINKER_FEATURES], [ # does some of this, but throws away the result. libitm_ld_is_gold=no libitm_ld_is_mold=no + libitm_ld_is_wild=no if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then libitm_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then libitm_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + libitm_ld_is_wild=yes fi changequote(,) ldver=`$LD --version 2>/dev/null | @@ -405,6 +409,8 @@ if test $enable_symvers != no && test $libitm_shared_libgcc = yes; then enable_symvers=gnu elif test $libitm_ld_is_mold = yes ; then enable_symvers=gnu + elif test $libitm_ld_is_wild = yes ; then + enable_symvers=gnu else # The right tools, the right setup, but too old. Fallbacks? AC_MSG_WARN(=== Linker version $libitm_gnu_ld_version is too old for) diff --git a/libitm/configure b/libitm/configure index c655a9bf0ad..005d67814f5 100755 --- a/libitm/configure +++ b/libitm/configure @@ -17604,10 +17604,13 @@ fi # does some of this, but throws away the result. libitm_ld_is_gold=no libitm_ld_is_mold=no + libitm_ld_is_wild=no if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then libitm_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then libitm_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + libitm_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | @@ -17812,6 +17815,8 @@ if test $enable_symvers != no && test $libitm_shared_libgcc = yes; then enable_symvers=gnu elif test $libitm_ld_is_mold = yes ; then enable_symvers=gnu + elif test $libitm_ld_is_wild = yes ; then + enable_symvers=gnu else # The right tools, the right setup, but too old. Fallbacks? { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Linker version $libitm_gnu_ld_version is too old for" >&5 diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index d040e8d30be..d68dbf7bcd4 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -173,6 +173,7 @@ dnl Sets: dnl with_gnu_ld dnl glibcxx_ld_is_gold (set to "no" or "yes") dnl glibcxx_ld_is_mold (set to "no" or "yes") +dnl glibcxx_ld_is_wild (set to "no" or "yes") dnl glibcxx_gnu_ld_version (possibly) dnl dnl The last will be a single integer, e.g., version 1.23.45.0.67.89 will @@ -206,6 +207,7 @@ AC_DEFUN([GLIBCXX_CHECK_LINKER_FEATURES], [ # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then AC_MSG_CHECKING([for ld version]) changequote(,) @@ -213,6 +215,8 @@ AC_DEFUN([GLIBCXX_CHECK_LINKER_FEATURES], [ glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -224,7 +228,7 @@ AC_DEFUN([GLIBCXX_CHECK_LINKER_FEATURES], [ # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -4063,6 +4067,8 @@ changequote([,])dnl : All versions of gold support symbol versioning. elif test $glibcxx_ld_is_mold = yes ; then : All versions of mold support symbol versioning. + elif test $glibcxx_ld_is_wild = yes ; then + : All versions of Wild support symbol versioning. elif test $glibcxx_gnu_ld_version -lt $glibcxx_min_gnu_ld_version ; then # The right tools, the right setup, but too old. Fallbacks? AC_MSG_WARN(=== Linker version $glibcxx_gnu_ld_version is too old for) diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 420391e9340..3509947753a 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -23068,6 +23068,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5 $as_echo_n "checking for ld version... " >&6; } @@ -23076,6 +23077,8 @@ $as_echo_n "checking for ld version... " >&6; } glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -23088,7 +23091,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -28936,6 +28939,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5 $as_echo_n "checking for ld version... " >&6; } @@ -28944,6 +28948,8 @@ $as_echo_n "checking for ld version... " >&6; } glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -28956,7 +28962,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -32115,6 +32121,7 @@ done # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5 $as_echo_n "checking for ld version... " >&6; } @@ -32123,6 +32130,8 @@ $as_echo_n "checking for ld version... " >&6; } glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -32135,7 +32144,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -38333,6 +38342,7 @@ done # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5 $as_echo_n "checking for ld version... " >&6; } @@ -38341,6 +38351,8 @@ $as_echo_n "checking for ld version... " >&6; } glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -38353,7 +38365,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -38621,6 +38633,7 @@ done # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5 $as_echo_n "checking for ld version... " >&6; } @@ -38629,6 +38642,8 @@ $as_echo_n "checking for ld version... " >&6; } glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -38641,7 +38656,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -39086,6 +39101,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5 $as_echo_n "checking for ld version... " >&6; } @@ -39094,6 +39110,8 @@ $as_echo_n "checking for ld version... " >&6; } glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -39106,7 +39124,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -42528,6 +42546,7 @@ done # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5 $as_echo_n "checking for ld version... " >&6; } @@ -42536,6 +42555,8 @@ $as_echo_n "checking for ld version... " >&6; } glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -42548,7 +42569,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -45923,6 +45944,7 @@ $as_echo "#define HAVE_TLS 1" >>confdefs.h # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5 $as_echo_n "checking for ld version... " >&6; } @@ -45931,6 +45953,8 @@ $as_echo_n "checking for ld version... " >&6; } glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -45943,7 +45967,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -46136,6 +46160,7 @@ done # does some of this, but throws away the result. glibcxx_ld_is_gold=no glibcxx_ld_is_mold=no + glibcxx_ld_is_wild=no if test x"$with_gnu_ld" = x"yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld version" >&5 $as_echo_n "checking for ld version... " >&6; } @@ -46144,6 +46169,8 @@ $as_echo_n "checking for ld version... " >&6; } glibcxx_ld_is_gold=yes elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then glibcxx_ld_is_mold=yes + elif $LD --version 2>/dev/null | grep 'Wild' >/dev/null 2>&1; then + glibcxx_ld_is_wild=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -46156,7 +46183,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" || test "$glibcxx_ld_is_wild" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -51196,6 +51223,8 @@ $as_echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;} : All versions of gold support symbol versioning. elif test $glibcxx_ld_is_mold = yes ; then : All versions of mold support symbol versioning. + elif test $glibcxx_ld_is_wild = yes ; then + : All versions of Wild support symbol versioning. elif test $glibcxx_gnu_ld_version -lt $glibcxx_min_gnu_ld_version ; then # The right tools, the right setup, but too old. Fallbacks? { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&5 @@ -53940,7 +53969,7 @@ $as_echo "$glibcxx_cv_libbacktrace_atomics" >&6; } CXXFLAGS='-O0 -S' cat > conftest.$ac_ext << EOF -#line 53943 "configure" +#line 53972 "configure" #include <stddef.h> int main() { -- 2.51.2
