diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc index 1de090a4b4d..86232cbccf4 100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@ -1,4 +1,4 @@ // Local identifier in __FreeBSD_version style -#define LLD_FREEBSD_VERSION 1500000 +#define LLD_FREEBSD_VERSION 1500001 #define LLD_VERSION_STRING "18.1.6 (FreeBSD llvmorg-18.1.6-0-g1118c2e05e67-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile index ae25910da2c..e9d29e5a219 100644 --- a/stand/efi/loader/Makefile +++ b/stand/efi/loader/Makefile @@ -111,10 +111,14 @@ LDFLAGS+= -Wl,-T${LDSCRIPT},-Bsymbolic,-znotext -pie LDFLAGS+= -Wl,--no-dynamic-linker .endif +.include + +.if ${LINKER_TYPE} == "lld" && ${LINKER_FREEBSD_VERSION} < 1500001 # When lld is using multiple threads, which it does by default, it can # result in non-reproducible output with the custom linker script. Work # around this by disabling threading. -LDFLAGS.lld+= -Wl,--threads=1 +LDFLAGS+= -Wl,--threads=1 +.endif CLEANFILES+= ${LOADER}.efi