Enable LLVM_BINUTILS by default
Starting in 2014 FreeBSD migrated from GNU binutils to ELF Tool Chain tools. At that time there were no usable LLVM versions of those tools, but they have been developing rapidly since then. Migrate to LLVML's tools for both functionality and maintainability reasons. This will eventually support the use of link-time optimization (LTO) in the FreeBSD base system. LTO runs optimization passes over the entire executable (or library) at link time and thus allows for more effective optimization than when performed on individual compilation units. When using LTO object files (.o) including those contained in static library archives (.a) contain LLVM IR bitcode rather than target object code. This means that utilities that operate on object files need to support LLVM IR. As with ELF Tool Chain the LLVM tools aim for command line and output format compatibility with GNU binutils, although there are a few minor differences. Where these cause a material issue (breaking a port or eliminating required functionality) we can submit LLVM bugs and work on patches. PR: 258872 (exp-run) Reviewed by: bapt Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49361
This commit is contained in:
@@ -124,6 +124,7 @@ __DEFAULT_YES_OPTIONS = \
|
||||
LLD \
|
||||
LLD_BOOTSTRAP \
|
||||
LLVM_ASSERTIONS \
|
||||
LLVM_BINUTILS \
|
||||
LLVM_COV \
|
||||
LLVM_CXXFILT \
|
||||
LOADER_BIOS_TEXTONLY \
|
||||
@@ -208,7 +209,6 @@ __DEFAULT_NO_OPTIONS = \
|
||||
HESIOD \
|
||||
LOADER_VERBOSE \
|
||||
LOADER_VERIEXEC_PASS_MANIFEST \
|
||||
LLVM_BINUTILS \
|
||||
LLVM_FULL_DEBUGINFO \
|
||||
MALLOC_PRODUCTION \
|
||||
OFED_EXTRA \
|
||||
|
||||
Reference in New Issue
Block a user