aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Richardson <arichardson@FreeBSD.org>2020-08-26 09:19:44 +0000
committerAlex Richardson <arichardson@FreeBSD.org>2020-08-26 09:19:44 +0000
commit2d6bee8f00c3ff1689a67fc2b60baf0503fe6999 (patch)
tree70b7cf69f3fbfe2e495ff350c843ee7bfb14f26e
parentf6385d921b2f354d71256d1d0392122597e0fd33 (diff)
downloadsrc-2d6bee8f00c3ff1689a67fc2b60baf0503fe6999.tar.gz
src-2d6bee8f00c3ff1689a67fc2b60baf0503fe6999.zip
Fix builds that set LD=ld.lld after r364761
When using relative paths for the linker we have to transform the name since clang does not like -fuse-ld=ld.lld and instead requires -fuse-ld=lld (the same also applies for ld.bfd).
Notes
Notes: svn path=/head/; revision=364807
-rw-r--r--share/mk/bsd.sys.mk3
-rw-r--r--sys/conf/kern.mk3
2 files changed, 4 insertions, 2 deletions
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index 2cf95f570c6c..fd2525e56799 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -289,7 +289,8 @@ CFLAGS+= ERROR-tried-to-rebuild-during-make-install
# Add -fuse-ld=${LD} if $LD is in a different directory or not called "ld".
# Note: Clang 12+ will prefer --ld-path= over -fuse-ld=.
.if ${COMPILER_TYPE} == "clang"
-LDFLAGS+= -fuse-ld=${LD:[1]}
+# Note: Clang does not like relative paths in -fuse-ld so we map ld.lld -> lld.
+LDFLAGS+= -fuse-ld=${LD:[1]:S/^ld.//1W}
.else
# GCC does not support an absolute path for -fuse-ld so we just print this
# warning instead and let the user add the required symlinks.
diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk
index bf278e1716aa..de5286688e13 100644
--- a/sys/conf/kern.mk
+++ b/sys/conf/kern.mk
@@ -278,7 +278,8 @@ CFLAGS+= -std=${CSTD}
# Note: unlike bsd.sys.mk we can't use LDFLAGS here since that is used for the
# flags required when linking the kernel. We don't need those flags when
# building the vdsos. However, we do need -fuse-ld, so use ${CCLDFLAGS} instead.
-CCLDFLAGS+= -fuse-ld=${LD:[1]}
+# Note: Clang does not like relative paths in -fuse-ld so we map ld.lld -> lld.
+CCLDFLAGS+= -fuse-ld=${LD:[1]:S/^ld.//1W}
.else
# GCC does not support an absolute path for -fuse-ld so we just print this
# warning instead and let the user add the required symlinks.