|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0 |
|
| #
349a1e57 |
| 26-Sep-2019 |
Ed Maste <[email protected]> |
MFS r352754: Add WITH_PIE knob to build Position Independent Executables
MFC r344179: Add WITH_PIE knob to build Position Independent Executables
Building binaries as PIE allows the executable itse
MFS r352754: Add WITH_PIE knob to build Position Independent Executables
MFC r344179: Add WITH_PIE knob to build Position Independent Executables
Building binaries as PIE allows the executable itself to be loaded at a random address when ASLR is enabled (not just its shared libraries).
With this change PIE objects have a .pieo extension and INTERNALLIB libraries libXXX_pie.a.
MK_PIE is disabled for some kerberos5 tools, Clang, and Subversion, as they explicitly reference .a libraries in their Makefiles. These can be addressed on an individual basis later. MK_PIE is also disabled for rtld-elf because it is already position-independent using bespoke Makefile rules.
Currently only dynamically linked binaries will be built as PIE.
MFC r344181: Fix Makefile conditional after r344179
MFC r344182: Use make's :tl instead of checking "no" and "NO"
MFC r344189: Fixup bsd.prog.mk after r344182
MFC r344211: wlandebug: disable PIE to fix build failure
libifconfig is built as a static-only PRIVATELIB (and there is no _pie.a version) so disable PIE in libifconfig's consumer.
r345489: Fix GNU objdump build under WITH_PIE
Explicitly specified bare .a libraries need ${PIE_SUFFIX}.
r345490: Apply WITH_PIE changes to other binutils components
Followon to r345489, explicitly specified bare .a libraries need ${PIE_SUFFIX} (although these still built).
r345778: Fix gdb/kgdb build under WITH_PIE
Explicitly specified bare .a libraries need ${PIE_SUFFIX}.
Approved by: re (gjb) Sponsored by: The FreeBSD Foundation
show more ...
|
|
Revision tags: release/11.3.0, release/12.0.0, release/11.2.0 |
|
| #
d74021d6 |
| 20-Jun-2018 |
Bryan Drewery <[email protected]> |
Rework how the ld link is handled in WORLDTMP from r322811.
LLD_BOOTSTRAP (build) is independent of LLD_IS_LD (installed) so they should not be based on each other.
This is related to upcoming WITH
Rework how the ld link is handled in WORLDTMP from r322811.
LLD_BOOTSTRAP (build) is independent of LLD_IS_LD (installed) so they should not be based on each other.
This is related to upcoming WITH_SYSTEM_LINKER work.
Reviewed by: emaste Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D15836
show more ...
|
| #
337981bd |
| 04-Mar-2018 |
Ed Maste <[email protected]> |
When lld is ld, install bfd's man page as ld.bfd.1
When WITH_LLD_IS_LD is set, lld's man page is installed as ld.1.gz, as was GNU BFD's man page prior to this change.
Reported by: Tobias Kortkamp S
When lld is ld, install bfd's man page as ld.bfd.1
When WITH_LLD_IS_LD is set, lld's man page is installed as ld.1.gz, as was GNU BFD's man page prior to this change.
Reported by: Tobias Kortkamp Sponsored by: The FreeBSD Foundation
show more ...
|
| #
635718c0 |
| 31-Oct-2017 |
Bryan Drewery <[email protected]> |
Rename RELTOP since it will mean something else globally.
Sponsored by: Dell EMC Isilon
|
|
Revision tags: release/10.4.0, release/11.1.0 |
|
| #
f52e4bdf |
| 27-Jan-2017 |
Ed Maste <[email protected]> |
Rename LLD_AS_LD to LLD_IS_LD, for consistency with CLANG_IS_CC
Reported by: Dan McGregor <dan.mcgregor usask.ca>
|
| #
0aa5466e |
| 25-Nov-2016 |
Ed Maste <[email protected]> |
Add WITH_LLD_AS_LD build knob
If set it installs LLD as /usr/bin/ld. LLD (as of version 3.9) is not capable of linking the world and kernel, but can self-host and link many substantial applications
Add WITH_LLD_AS_LD build knob
If set it installs LLD as /usr/bin/ld. LLD (as of version 3.9) is not capable of linking the world and kernel, but can self-host and link many substantial applications. GNU ld continues to be used for the world and kernel build, regardless of how this knob is set.
It is on by default for arm64, and off for all other CPU architectures.
Sponsored by: The FreeBSD Foundation
show more ...
|
|
Revision tags: release/11.0.1, release/11.0.0, release/10.3.0 |
|
| #
dbecd1bf |
| 07-Jan-2016 |
Ed Maste <[email protected]> |
Switch GNU ld to be installed as ld.bfd and linked as ld
We intend to replace GNU ld with LLVM's lld, and on the path to there we'll experiment with having lld installed or linked as /usr/bin/ld. Th
Switch GNU ld to be installed as ld.bfd and linked as ld
We intend to replace GNU ld with LLVM's lld, and on the path to there we'll experiment with having lld installed or linked as /usr/bin/ld. Thus, make ld.bfd the primary install target for GNU ld, to later facilitate making the ld link optional.
Reviewed by: davide, dim Differential Revision: https://reviews.freebsd.org/D4790
show more ...
|
| #
e7beaf99 |
| 23-Dec-2015 |
Ed Maste <[email protected]> |
Install ld also as ld.bfd, for use with cc -fuse-ld=bfd
PR: 205409 [exp-run] MFC after: 1 week Relnotes: Yes Sponsored by: The FreeBSD Foundation
|
| #
b791fbe6 |
| 25-Nov-2015 |
Bryan Drewery <[email protected]> |
META MODE: Don't create .meta files when symlinking sources into the obj directory.
Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln
META MODE: Don't create .meta files when symlinking sources into the obj directory.
Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
8b2b71b4 |
| 24-Nov-2015 |
Bryan Drewery <[email protected]> |
Fix ld not respecting --sysroot.
ld(1) uses the /usr/libdata/ldscripts when linking. These scripts add in the default search paths of /lib and /usr/lib via 'SEARCH_DIR("DIR")'. These need to be pref
Fix ld not respecting --sysroot.
ld(1) uses the /usr/libdata/ldscripts when linking. These scripts add in the default search paths of /lib and /usr/lib via 'SEARCH_DIR("DIR")'. These need to be prefixed by '=' so that the --sysroot flag is respected. This is not a problem with buildworld since the TOOLS_PREFIX is baked into the cross-ld. However it is a problem when trying to use ld(1) with --sysroot anywhere else as it ends up still reading /lib and /usr/lib despite --sysroot.
The default --sysroot (TARGET_SYSTEM_ROOT) is '/' for /usr/bin/ld.
I found this while building with META MODE with uses only --sysroot with /usr/bin/ld, and found that libraries that I had not built in its sysroot directory were leaking in. This didn't happen with ports binutils either. This would also impact external compiler support.
Reviewed by: bapt, brooks MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4262
show more ...
|
| #
dabaad66 |
| 25-Sep-2015 |
Bryan Drewery <[email protected]> |
Fix subdir -j build after r287983 by adding missing dependencies.
Sponsored by: EMC / Isilon Storage Division
|
| #
ef59fb82 |
| 25-Sep-2015 |
Bryan Drewery <[email protected]> |
Fix emulation ldscripts not being installed since r131832.
For example, 32bit scripts on 64bit host.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
| #
092a37c9 |
| 21-Sep-2015 |
Bryan Drewery <[email protected]> |
Use SHAREOWN/SHAREMODE/SHAREGRP rather than LIB* as these are plain ASCII scripts that the linker can load rather than binary library objects.
Effectively no change.
Suggested by: hrs
|
| #
3adbeacc |
| 19-Sep-2015 |
Bryan Drewery <[email protected]> |
Replace afterinstall: hack with FILES mechanism.
Sponsored by: EMC / Isilon Storage Division
|
|
Revision tags: release/10.2.0, release/10.1.0, release/9.3.0 |
|
| #
e7d939bd |
| 07-Jul-2014 |
Marcel Moolenaar <[email protected]> |
Remove ia64.
This includes: o All directories named *ia64* o All files named *ia64* o All ia64-specific code guarded by __ia64__ o All ia64-specific makefile logic o Mention of ia64 in com
Remove ia64.
This includes: o All directories named *ia64* o All files named *ia64* o All ia64-specific code guarded by __ia64__ o All ia64-specific makefile logic o Mention of ia64 in comments and documentation
This excludes: o Everything under contrib/ o Everything under crypto/ o sys/xen/interface o sys/sys/elf_common.h
Discussed at: BSDcan
show more ...
|
| #
c6063d0d |
| 06-May-2014 |
Warner Losh <[email protected]> |
Use src.opts.mk in preference to bsd.own.mk except where we need stuff from the latter.
|
|
Revision tags: release/10.0.0 |
|
| #
2fda6dbc |
| 01-Nov-2013 |
Brooks Davis <[email protected]> |
Reimplement r257525 such that it work with the historic FreeBSD make implementation. This fixes the toolchain and kernel-toolchain targets when building from older FreeBSD versions where make is fma
Reimplement r257525 such that it work with the historic FreeBSD make implementation. This fixes the toolchain and kernel-toolchain targets when building from older FreeBSD versions where make is fmake.
Reported by: luigi Sponsored by: DARPA/AFRL MFC after: 3 days
show more ...
|
| #
957539c3 |
| 28-Oct-2013 |
Brooks Davis <[email protected]> |
Enable the --sysroot=/foo option in ld by always building with a sysroot defined. When not building as a cross linker, the sysroot is set to "/".
Exp-run by: bdrewery (ports/183206) MFC after: 3 days
|
|
Revision tags: release/9.2.0, release/8.4.0, release/9.1.0 |
|
| #
4f20e4f2 |
| 29-Apr-2012 |
Konstantin Belousov <[email protected]> |
Add src.conf option WITH_SHARED_TOOLCHAIN to enable building the toolchain binaries as dynamically linked. Option is disabled by default.
Reviewed by: ru (previous version) MFC after: 2 weeks
|
|
Revision tags: release/8.3.0 |
|
| #
a54f161a |
| 21-Mar-2011 |
Marcel Moolenaar <[email protected]> |
Fix typo: s/LIBSERACHPATH/LIBSEARCHPATH/g
|
|
Revision tags: release/7.4.0, release/8.2.0 |
|
| #
e083002b |
| 22-Oct-2010 |
Dimitry Andric <[email protected]> |
Most of binutils now compiles at WARNS=3, except for libiberty and libbfd, which still need WARNS=2.
|
| #
a477c4b7 |
| 21-Oct-2010 |
Dimitry Andric <[email protected]> |
Update ldscript extension list.
|
| #
d9eabf46 |
| 21-Oct-2010 |
Dimitry Andric <[email protected]> |
Use one file per line in SRCS= definition, to make insertions and deletions easier, and sort the file list.
|
|
Revision tags: release/8.1.0, release/7.3.0, release/8.0.0, release/7.2.0, release/7.1.0, release/6.4.0, release/7.0.0, release/6.3.0 |
|
| #
af025ea9 |
| 26-Sep-2007 |
Marcel Moolenaar <[email protected]> |
Force -O1 compilation when targeted for ia64. GCC 4 generates bad code at -O2. Since this is likely caused by the low-level optimizer, testing TARGET_ARCH rather than MACHINE_ARCH should handle ia64
Force -O1 compilation when targeted for ia64. GCC 4 generates bad code at -O2. Since this is likely caused by the low-level optimizer, testing TARGET_ARCH rather than MACHINE_ARCH should handle ia64 cross-compilation as well. With this work-around in place, we can release using the current GCC and Binutils code at the default optimization level on ia64.
Approved by: re (kensmith)
show more ...
|
|
Revision tags: release/6.2.0, release/5.5.0, release/6.1.0, release/6.0.0, release/5.4.0, release/4.11.0 |
|
| #
83c7ade9 |
| 21-Dec-2004 |
Ruslan Ermilov <[email protected]> |
NOSHARED -> NO_SHARED
|