summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2017-05-18 17:40:30 +0000
committeremaste <emaste@FreeBSD.org>2017-05-18 17:40:30 +0000
commitbbd7307a2c2c719e7e0c1195bce66f37e1c05c85 (patch)
tree35c8ccc2e7c608a77e45d2d9415e99b6ec576c75 /tools
parenta211c4049b427ce2837f2e7ad2c6b95b4301a109 (diff)
downloadFreeBSD-src-bbd7307a2c2c719e7e0c1195bce66f37e1c05c85.zip
FreeBSD-src-bbd7307a2c2c719e7e0c1195bce66f37e1c05c85.tar.gz
MFC LLD changes and enable LLD as /usr/bin/ld on arm64 by default
MFC r316629: do not require binutils port when using lld as ld r279908 added logic to Makefile.inc1 to automatically set CROSS_BINUTILS_PREFIX for architectures not supported by the in-tree binutils: arm64 when first introduced, and later riscv64 as well. LLVM's LLD linker is now included in the base system, and is enabled by default for arm64 and capable of linking world and kernel. Thus, avoid automatically setting CROSS_BINUTILS_PREFIX and requiring the binutils port if WITH_LLD_IS_LD is true. -- MFC r317608: revert r313473 (Disable LLD_IS_LD option combinations that fail) r316647 corrected the build of tblgen and libllvm as dependencies for LLD so undo the temporary seat-belt. We still want to extend the build infrastructure to automatically detect the case where the host LLD can be used instead of building a bootstrap LLD, and likely extend libllvmminimal to meet LLD's needs for cases where the build includes LLD but not Clang. -- MFC r316684: Make WITHOUT_TOOLCHAIN imply WITHOUT_LLD. LLD is a toolchain component. -- MFC r316647: Introduce LLD_BOOTSTRAP to control lld as bootstrap linker Add WITH_LLD_BOOTSTRAP and WITHOUT_LLD_BOOTSTRAP knobs, similar to the Clang bootstrap knobs. Reviewed by: andrew Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D10793
Diffstat (limited to 'tools')
-rw-r--r--tools/build/options/WITHOUT_LLD_BOOTSTRAP5
-rw-r--r--tools/build/options/WITH_LLD_BOOTSTRAP2
2 files changed, 7 insertions, 0 deletions
diff --git a/tools/build/options/WITHOUT_LLD_BOOTSTRAP b/tools/build/options/WITHOUT_LLD_BOOTSTRAP
new file mode 100644
index 0000000..646edd3
--- /dev/null
+++ b/tools/build/options/WITHOUT_LLD_BOOTSTRAP
@@ -0,0 +1,5 @@
+.\" $FreeBSD$
+Set to not build the LLD linker during the bootstrap phase of
+the build.
+To be able to build the system, either Binutils or LLD bootstrap must be
+enabled unless an alternate linker is provided via XLD.
diff --git a/tools/build/options/WITH_LLD_BOOTSTRAP b/tools/build/options/WITH_LLD_BOOTSTRAP
new file mode 100644
index 0000000..4977b97
--- /dev/null
+++ b/tools/build/options/WITH_LLD_BOOTSTRAP
@@ -0,0 +1,2 @@
+.\" $FreeBSD$
+Set to build the LLD linker during the bootstrap phase of the build.
OpenPOWER on IntegriCloud