git: 342240c6e025 - stable/14 - Bump lld LINKER_FREEBSD_VERSION for reproducibility fix
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 08 Oct 2024 08:39:36 UTC
The branch stable/14 has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=342240c6e0257e798efc12c7e6aa9cdc6b22c9e1
commit 342240c6e0257e798efc12c7e6aa9cdc6b22c9e1
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-09-22 17:12:01 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-10-08 08:37:14 +0000
Bump lld LINKER_FREEBSD_VERSION for reproducibility fix
The upstream fix to make lld output for our EFI loaders reproducible
again was committed in 54521a2ff93a. Bump lld's LINKER_FREEBSD_VERSION
to be able to check this in the EFI loader Makefile.
MFC after: 3 days
(cherry picked from commit f97c7fdc59d252cc8611968ffac541d4b8342b8b)
---
lib/clang/include/lld/Common/Version.inc | 2 +-
stand/efi/loader/Makefile | 9 ++++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc
index 20f5fbe6e124..2e9f3e4e6330 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 1400006
+#define LLD_FREEBSD_VERSION 1400007
#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 02563681c3e8..d2b872e0ca99 100644
--- a/stand/efi/loader/Makefile
+++ b/stand/efi/loader/Makefile
@@ -106,10 +106,17 @@ LDFLAGS+= -Wl,-T${LDSCRIPT},-Bsymbolic,-znotext -pie
LDFLAGS+= -Wl,--no-dynamic-linker
.endif
+.include <bsd.linker.mk>
+
+.if ${LINKER_TYPE} == "lld" && \
+ (${LINKER_FREEBSD_VERSION} < 1400007 || \
+ (${LINKER_FREEBSD_VERSION} >= 1500000 && \
+ ${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