svn commit: r366270 - head/share/mk

Brooks Davis brooks at FreeBSD.org
Tue Sep 29 22:30:16 UTC 2020


Author: brooks
Date: Tue Sep 29 22:30:15 2020
New Revision: 366270
URL: https://svnweb.freebsd.org/changeset/base/366270

Log:
  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

Modified:
  head/share/mk/bsd.sys.mk

Modified: head/share/mk/bsd.sys.mk
==============================================================================
--- head/share/mk/bsd.sys.mk	Tue Sep 29 21:51:32 2020	(r366269)
+++ head/share/mk/bsd.sys.mk	Tue Sep 29 22:30:15 2020	(r366270)
@@ -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.


More information about the svn-src-all mailing list