From ca8b902aa5c9261264eb06ef01c3125834ade2ad Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Fri, 26 Feb 2016 15:46:14 +0000 Subject: [PATCH] Install elftoolchain elfcopy(1) as objcopy(1) by default As of r295661 elfcopy supports PE format for EFI boot binaries and is a viable objcopy implementation for the base system and ports. The (temporary) src.conf knob WITHOUT_ELFCOPY_AS_OBJCOPY knob may be set to obtain the GNU version if necessary. PR: 207091 [exp-run] Relnotes: Yes Sponsored by: The FreeBSD Foundation --- UPDATING | 7 +++++++ share/mk/src.opts.mk | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/UPDATING b/UPDATING index 123c05ae975..53c7bdd7f28 100644 --- a/UPDATING +++ b/UPDATING @@ -31,6 +31,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20150107: + The ELF object manipulation tool objcopy is now provided by the + ELF Tool Chain project rather than by GNU binutils. It should be a + drop-in replacement, with the addition of arm64 support. The + (temporary) src.conf knob WITHOUT_ELFCOPY_AS_OBJCOPY knob may be set + to obtain the GNU version if necessary. + 20160129: Building ZFS pools on top of zvols is prohibited by default. That feature has never worked safely; it's always been prone to deadlocks. diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 678c31ef054..a3d6a0cef1f 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -80,6 +80,7 @@ __DEFAULT_YES_OPTIONS = \ DYNAMICROOT \ ED_CRYPTO \ EE \ + ELFCOPY_AS_OBJCOPY \ ELFTOOLCHAIN_BOOTSTRAP \ EXAMPLES \ FDT \ @@ -231,9 +232,9 @@ __DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC # In-tree binutils/gcc are older versions without modern architecture support. .if ${__T} == "aarch64" || ${__T} == "riscv64" BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GCC GCC_BOOTSTRAP GDB -__DEFAULT_YES_OPTIONS+=ELFCOPY_AS_OBJCOPY LLVM_LIBUNWIND +__DEFAULT_YES_OPTIONS+=LLVM_LIBUNWIND .else -__DEFAULT_NO_OPTIONS+=ELFCOPY_AS_OBJCOPY LLVM_LIBUNWIND +__DEFAULT_NO_OPTIONS+=LLVM_LIBUNWIND .endif .if ${__T} == "riscv64" BROKEN_OPTIONS+=PROFILE # "sorry, unimplemented: profiler support for RISC-V"