Skip to content

Commit 682bf67

Browse files
committed
selftests/nolibc: use lld to link loongarch binaries
LLVM 21 switched to -mcmodel=medium for LoongArch64 compilations. This code model uses R_LARCH_ECALL36 relocations which might not be supported by GNU ld which to nolibc testsuite uses by default. ld will not resolve the relocation and all function calls will end up as busy loops. Use lld instead. We can not switch to lld for all LLVM builds, as it does not support all necessary architectures. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Acked-by: Willy Tarreau <w@1wt.eu>
1 parent 31b4d3a commit 682bf67

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

tools/testing/selftests/nolibc/Makefile.nolibc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ CFLAGS_mipsn32le = -EL -mabi=n32 -fPIC -march=mips64r2
230230
CFLAGS_mipsn32be = -EB -mabi=n32 -march=mips64r6
231231
CFLAGS_mips64le = -EL -mabi=64 -march=mips64r6
232232
CFLAGS_mips64be = -EB -mabi=64 -march=mips64r2
233+
CFLAGS_loongarch = $(if $(LLVM),-fuse-ld=lld)
233234
CFLAGS_sparc32 = $(call cc-option,-m32)
234235
CFLAGS_sh4 = -ml -m4
235236
ifeq ($(origin XARCH),command line)

0 commit comments

Comments
 (0)