git: 458f4722bf97 - main - Suppress lld 16 errors about multiply defined symbols in rescue
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 17 Apr 2023 16:26:59 UTC
The branch main has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=458f4722bf974c7fa7961952fcaee146f5a97708
commit 458f4722bf974c7fa7961952fcaee146f5a97708
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-04-17 16:25:30 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-04-17 16:26:27 +0000
Suppress lld 16 errors about multiply defined symbols in rescue
lld >= 16 became more strict about multiply defined symbols. Since there
are many of those in crunchgen'd programs, turn off the check when
linking the rescue binary.
MFC after: 1 week
---
rescue/rescue/Makefile | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/rescue/rescue/Makefile b/rescue/rescue/Makefile
index 2360bf83b781..1f4db1d06b15 100644
--- a/rescue/rescue/Makefile
+++ b/rescue/rescue/Makefile
@@ -13,6 +13,12 @@ MK_PIE= no
NO_SHARED= yes
CRUNCH_BUILDOPTS+= MK_PIE=no NO_SHARED=yes
+# lld >= 16 became more strict about multiply defined symbols. Since there are
+# many of those in crunchgen'd programs, turn off the check.
+.if ${LINKER_TYPE} == "lld" && ${LINKER_VERSION} >= 160000
+LDFLAGS+= -Wl,--allow-multiple-definition
+.endif
+
PROG= rescue
BINDIR?=/rescue