From 1bf5e133cb0df217f6bb81063fa1b89c22b0d602 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Fri, 7 Apr 2017 23:37:22 +0000 Subject: [PATCH] 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. Reviewed by: kan Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D10310 --- Makefile.inc1 | 5 +++-- UPDATING | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index f6f59c47d701..53943e2b191c 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -167,10 +167,11 @@ CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} .endif # If we do not have a bootstrap binutils (because the in-tree one does not # support the target architecture), provide a default cross-binutils prefix. -# This allows aarch64 builds, for example, to automatically use the -# aarch64-binutils port or package. +# This allows riscv64 builds, for example, to automatically use the +# riscv64-binutils port or package. .if !make(showconfig) .if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ + ${MK_LLD_IS_LD} == "no" && \ !defined(CROSS_BINUTILS_PREFIX) CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ .if !exists(${CROSS_BINUTILS_PREFIX}) diff --git a/UPDATING b/UPDATING index a5f9048f6a6d..6502b3b6ff6b 100644 --- a/UPDATING +++ b/UPDATING @@ -51,6 +51,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +20170407: + arm64 builds now use the base system LLD 4.0.0 linker by default, + instead of requiring that the aarch64-binutils port or package be + installed. To continue using aarch64-binutils, set + CROSS_BINUTILS_PREFIX=/usr/local/aarch64-freebsd/bin . + 20170331: Binds and sends to the loopback addresses, IPv6 and IPv4, will now use any explicitly assigned loopback address available in the jail