svn commit: r327823 - head/share/mk
Ed Maste
emaste at FreeBSD.org
Thu Jan 11 14:03:06 UTC 2018
Author: emaste
Date: Thu Jan 11 14:03:05 2018
New Revision: 327823
URL: https://svnweb.freebsd.org/changeset/base/327823
Log:
Enable ld.lld as bootstrap linker by default on i386
Akin to r327783 for amd64. lld has been usable for amd64 for quite some
time, but a couple of issues remained that affected i386. These were
recently addressed upstream in lld and merged into FreeBSD (r326831,
r326879, r326897, r326957), so we can now use ld.lld on i386 as well.
Similarly to amd64 this change enables lld only as the bootstrap linker
(used to link the kernel and userland libraries and executables), while
GNU ld.bfd is still installed as /usr/bin/ld and used for ports builds.
The ports collection is essentially ready to use lld as the system
linker for amd64, but many ports still have trouble with lld on i386,
because lld defaults to -ztext, disallowing relocations against readonly
segments. Thus switching the system linker (WITH_LLD_IS_LD) will happen
later on a per-arch basis.
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Modified:
head/share/mk/src.opts.mk
Modified: head/share/mk/src.opts.mk
==============================================================================
--- head/share/mk/src.opts.mk Thu Jan 11 13:57:30 2018 (r327822)
+++ head/share/mk/src.opts.mk Thu Jan 11 14:03:05 2018 (r327823)
@@ -253,7 +253,7 @@ __DEFAULT_NO_OPTIONS+=LLVM_LIBUNWIND
.endif
.if ${__T} == "aarch64"
__DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
-.elif ${__T} == "amd64"
+.elif ${__T} == "amd64" || ${__T} == "i386"
__DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP
__DEFAULT_NO_OPTIONS+=LLD_IS_LD
.else
More information about the svn-src-all
mailing list