]> git.ipfire.org Git - thirdparty/glibc.git/commit
configure: Allow LD to be LLD 13.0.0 or above [BZ #26558]
authorFangrui Song <maskray@google.com>
Mon, 30 Aug 2021 20:59:33 +0000 (13:59 -0700)
committerFangrui Song <maskray@google.com>
Wed, 1 Sep 2021 03:23:34 +0000 (20:23 -0700)
commit224edada607ebc6aaa1aadaae423128fae7880df
tree95f5da42b7f141f21bb460049257a6f34a2a7ce0
parent60dfb30976761c9b20a22f18356e0c3e581f5394
configure: Allow LD to be LLD 13.0.0 or above [BZ #26558]

When using LLD (LLVM linker) as the linker, configure prints a confusing
message.

    *** These critical programs are missing or too old: GNU ld

LLD>=13.0.0 can build glibc --enable-static-pie. (8.0.0 needs one
workaround for -Wl,-defsym=_begin=0. 9.0.0 works with
--disable-static-pie).

XFAIL two tests sysdeps/x86/tst-ifunc-isa-* which have the BZ #28154
issue (LLD follows the PowerPC port of GNU ld for ifunc by placing
IRELATIVE relocations in .rela.dyn, triggering a glibc ifunc fragility).

The set of dynamic symbols is the same with GNU ld and LLD,
modulo unused SHN_ABS version node symbols.

For comparison, gold does not support --enable-static-pie
yet (--no-dynamic-linker is unsupported BZ #22221), yet
has 6 failures more than LLD. gold linked libc.so has
larger .dynsym differences with GNU ld and LLD
(non-default version symbols are changed to default versions
by a version script BZ #28196).
configure
configure.ac
sysdeps/x86/Makefile