Prefer --ld-path=/path/to/ld on clang >= 12
Clang 12 warns about passing a path to -fuse-ld and -Werror makes that an error preventing building world without this change. Reviewed by: arichardson, emaste Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26591
This commit is contained in:
parent
0e99339684
commit
17b8b8fb5f
@ -296,10 +296,13 @@ CFLAGS+= ERROR-tried-to-rebuild-during-make-install
|
||||
# Please keep this if in sync with kern.mk
|
||||
.if ${LD} != "ld" && (${CC:[1]:H} != ${LD:[1]:H} || ${LD:[1]:T} != "ld")
|
||||
# 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"
|
||||
.if ${COMPILER_VERSION} >= 120000
|
||||
LDFLAGS+= --ld-path=${LD:[1]:S/^ld.//1W}
|
||||
.else
|
||||
# Note: Clang does not like relative paths in -fuse-ld so we map ld.lld -> lld.
|
||||
LDFLAGS+= -fuse-ld=${LD:[1]:S/^ld.//1W}
|
||||
.endif
|
||||
.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.
|
||||
|
Loading…
Reference in New Issue
Block a user