From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1851) id 440DB385800F; Mon, 24 Jan 2022 11:09:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 440DB385800F Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Martin Liska To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc(refs/users/marxin/heads/mold-in-libraries)] Add mold detection for libs. X-Act-Checkin: gcc X-Git-Author: Martin Liska X-Git-Refname: refs/users/marxin/heads/mold-in-libraries X-Git-Oldrev: 2755037e40aa3549b38f6d080108e26fb5cb677b X-Git-Newrev: 8f7f46f8fd2b777c1632c0bbf346d5988b32d56c Message-Id: <20220124110934.440DB385800F@sourceware.org> Date: Mon, 24 Jan 2022 11:09:34 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Jan 2022 11:09:34 -0000 https://gcc.gnu.org/g:8f7f46f8fd2b777c1632c0bbf346d5988b32d56c commit 8f7f46f8fd2b777c1632c0bbf346d5988b32d56c Author: Martin Liska Date: Fri Jan 21 17:10:07 2022 +0100 Add mold detection for libs. libatomic/ChangeLog: * acinclude.m4: Detect *_ld_is_mold and use it. * configure: Regenerate. libgomp/ChangeLog: * acinclude.m4: Detect *_ld_is_mold and use it. * configure: Regenerate. libitm/ChangeLog: * acinclude.m4: Detect *_ld_is_mold and use it. * configure: Regenerate. libstdc++-v3/ChangeLog: * acinclude.m4: Detect *_ld_is_mold and use it. * configure: Regenerate. Diff: --- libatomic/acinclude.m4 | 6 ++++++ libatomic/configure | 5 +++++ libgomp/acinclude.m4 | 6 ++++++ libgomp/configure | 7 ++++++- libitm/acinclude.m4 | 6 ++++++ libitm/configure | 23 ++++++++------------- libstdc++-v3/acinclude.m4 | 8 +++++++- libstdc++-v3/configure | 52 ++++++++++++++++++++++++++++++++++++++--------- 8 files changed, 87 insertions(+), 26 deletions(-) diff --git a/libatomic/acinclude.m4 b/libatomic/acinclude.m4 index 3703a435003..f35ab5b60a5 100644 --- a/libatomic/acinclude.m4 +++ b/libatomic/acinclude.m4 @@ -299,6 +299,7 @@ dnl LD (as a side effect of testing) dnl Sets: dnl with_gnu_ld dnl libat_ld_is_gold (possibly) +dnl libat_ld_is_mold (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 @@ -331,8 +332,11 @@ AC_DEFUN([LIBAT_CHECK_LINKER_FEATURES], [ # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. libat_ld_is_gold=no + libat_ld_is_mold=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 fi changequote(,) ldver=`$LD --version 2>/dev/null | @@ -488,6 +492,8 @@ if test $enable_symvers != no && test $libat_shared_libgcc = yes; then enable_symvers=gnu elif test $libat_ld_is_gold = yes ; then enable_symvers=gnu + elif test $libat_ld_is_mold = 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 fb920c9a687..34434d21764 100755 --- a/libatomic/configure +++ b/libatomic/configure @@ -15197,8 +15197,11 @@ with_gnu_ld=$lt_cv_prog_gnu_ld # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. libat_ld_is_gold=no + libat_ld_is_mold=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 fi ldver=`$LD --version 2>/dev/null | @@ -15401,6 +15404,8 @@ if test $enable_symvers != no && test $libat_shared_libgcc = yes; then enable_symvers=gnu elif test $libat_ld_is_gold = yes ; then enable_symvers=gnu + elif test $libat_ld_is_mold = 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 dbf54d06db9..b8154eba99c 100644 --- a/libgomp/acinclude.m4 +++ b/libgomp/acinclude.m4 @@ -117,6 +117,7 @@ dnl LD (as a side effect of testing) dnl Sets: dnl with_gnu_ld dnl libgomp_ld_is_gold (possibly) +dnl libgomp_ld_is_mold (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 @@ -149,8 +150,11 @@ AC_DEFUN([LIBGOMP_CHECK_LINKER_FEATURES], [ # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. libgomp_ld_is_gold=no + libgomp_ld_is_mold=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 + libat_ld_is_mold=yes fi changequote(,) ldver=`$LD --version 2>/dev/null | @@ -306,6 +310,8 @@ if test $enable_symvers != no && test $libgomp_shared_libgcc = yes; then enable_symvers=gnu elif test $libgomp_ld_is_gold = yes ; then enable_symvers=gnu + elif test $libgomp_ld_is_mold = 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 4bc9b381c5c..37390ce5d66 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -15037,7 +15037,7 @@ _ACEOF # Plugins for offload execution, configure.ac fragment. -*- mode: autoconf -*- # -# Copyright (C) 2014-2021 Free Software Foundation, Inc. +# Copyright (C) 2014-2022 Free Software Foundation, Inc. # # Contributed by Mentor Embedded. # @@ -16231,8 +16231,11 @@ with_gnu_ld=$lt_cv_prog_gnu_ld # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. libgomp_ld_is_gold=no + libgomp_ld_is_mold=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 + libat_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | @@ -16435,6 +16438,8 @@ if test $enable_symvers != no && test $libgomp_shared_libgcc = yes; then enable_symvers=gnu elif test $libgomp_ld_is_gold = yes ; then enable_symvers=gnu + elif test $libgomp_ld_is_mold = 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 8efbee90a32..9fd12e6ee7d 100644 --- a/libitm/acinclude.m4 +++ b/libitm/acinclude.m4 @@ -210,6 +210,7 @@ dnl LD (as a side effect of testing) dnl Sets: dnl with_gnu_ld dnl libitm_ld_is_gold (possibly) +dnl libitm_ld_is_mold (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 @@ -242,8 +243,11 @@ AC_DEFUN([LIBITM_CHECK_LINKER_FEATURES], [ # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. libitm_ld_is_gold=no + libitm_ld_is_mold=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 fi changequote(,) ldver=`$LD --version 2>/dev/null | @@ -399,6 +403,8 @@ if test $enable_symvers != no && test $libitm_shared_libgcc = yes; then enable_symvers=gnu elif test $libitm_ld_is_gold = yes ; then enable_symvers=gnu + elif test $libitm_ld_is_mold = 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 b8f1e2360d0..966bf40537d 100755 --- a/libitm/configure +++ b/libitm/configure @@ -12056,7 +12056,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12069 "configure" +#line 12059 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12162,7 +12162,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12175 "configure" +#line 12165 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14901,16 +14901,6 @@ freebsd* | dragonfly*) esac ;; -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - haiku*) version_type=linux need_lib_prefix=no @@ -15032,7 +15022,7 @@ linux*oldld* | linux*aout* | linux*coff*) # project, but have not yet been accepted: they are GCC-local changes # for the time being. (See # https://lists.gnu.org/archive/html/libtool-patches/2018-05/msg00000.html) -linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi) +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | uclinuxfdpiceabi) version_type=linux need_lib_prefix=no need_version=no @@ -17085,8 +17075,11 @@ fi # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. libitm_ld_is_gold=no + libitm_ld_is_mold=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 fi ldver=`$LD --version 2>/dev/null | @@ -17289,6 +17282,8 @@ if test $enable_symvers != no && test $libitm_shared_libgcc = yes; then enable_symvers=gnu elif test $libitm_ld_is_gold = yes ; then enable_symvers=gnu + elif test $libitm_ld_is_mold = 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 @@ -17882,7 +17877,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET insn. cet_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fcf-protection" cat confdefs.h - <<_ACEOF >conftest.$ac_ext diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index d996477254c..1a7d7a96050 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -172,6 +172,7 @@ dnl LD (as a side effect of testing) 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_gnu_ld_version (possibly) dnl dnl The last will be a single integer, e.g., version 1.23.45.0.67.89 will @@ -204,11 +205,14 @@ AC_DEFUN([GLIBCXX_CHECK_LINKER_FEATURES], [ # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=no if test x"$with_gnu_ld" = x"yes"; then AC_MSG_CHECKING([for ld version]) changequote(,) if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -220,7 +224,7 @@ AC_DEFUN([GLIBCXX_CHECK_LINKER_FEATURES], [ # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -3796,6 +3800,8 @@ changequote([,])dnl enable_symvers=no elif test $glibcxx_ld_is_gold = yes ; then : 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_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 4c20c669144..0b551b864ce 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -22157,12 +22157,15 @@ with_gnu_ld=$lt_cv_prog_gnu_ld # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -22175,7 +22178,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -29371,12 +29374,15 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -29389,7 +29395,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -35303,12 +35309,15 @@ done # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -35321,7 +35330,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -47234,12 +47243,15 @@ done # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -47252,7 +47264,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -47519,12 +47531,15 @@ done # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -47537,7 +47552,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -47995,12 +48010,15 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -48013,7 +48031,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -54383,12 +54401,15 @@ _ACEOF # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -54401,7 +54422,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -60531,12 +60552,15 @@ $as_echo "#define HAVE_TLS 1" >>confdefs.h # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -60549,7 +60573,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -60741,12 +60765,15 @@ done # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -60759,7 +60786,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -60970,12 +60997,15 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Start by getting the version number. I think the libtool test already # does some of this, but throws away the result. glibcxx_ld_is_gold=no + glibcxx_ld_is_mold=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; } if $LD --version 2>/dev/null | grep 'GNU gold' >/dev/null 2>&1; then glibcxx_ld_is_gold=yes + elif $LD --version 2>/dev/null | grep 'mold' >/dev/null 2>&1; then + glibcxx_ld_is_mold=yes fi ldver=`$LD --version 2>/dev/null | sed -e 's/[. ][0-9]\{8\}$//;s/.* \([^ ]\{1,\}\)$/\1/; q'` @@ -60988,7 +61018,7 @@ $as_echo "$glibcxx_gnu_ld_version" >&6; } # Set --gc-sections. glibcxx_have_gc_sections=no - if test "$glibcxx_ld_is_gold" = "yes"; then + if test "$glibcxx_ld_is_gold" = "yes" || test "$glibcxx_ld_is_mold" = "yes" ; then if $LD --help 2>/dev/null | grep gc-sections >/dev/null 2>&1; then glibcxx_have_gc_sections=yes fi @@ -74929,6 +74959,8 @@ $as_echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;} enable_symvers=no elif test $glibcxx_ld_is_gold = yes ; then : 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_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