summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/ld
AgeCommit message (Collapse)Author
2020-03-27Now that there are no remaining users of ld.bfd, remove the ld subdir.Brandon Bergren
Notes: svn path=/head/; revision=359349
2019-03-25Apply WITH_PIE changes to other binutils componentsEd Maste
Followon to r345489, explicitly specified bare .a libraries need ${PIE_SUFFIX} (although these still built). MFC with: r345489 Notes: svn path=/head/; revision=345490
2019-01-09Avoid bsd.files.mk duplicate rule warning for bfd ldscriptsAlex Richardson
Without this change I get lots of warning: duplicate script for target "_FILESINS_ldscripts/elf64btsmip_fbsd.xw" ignored message for every tree walk. Reviewed By: imp, emaste Differential Revision: https://reviews.freebsd.org/D18783 Notes: svn path=/head/; revision=342882
2018-09-21Disable sbrk() use in GNU tools.Brooks Davis
We're studing the possibility of deprecating sbrk(). To make it easier we're removing unnecessicary uses in the base system. None of these tools require sbrk(), but they agressively prefer it for no good reason. Reviewed by: andrew Approved by: re (kib) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D16141 Notes: svn path=/head/; revision=338860
2018-06-20Rework how the ld link is handled in WORLDTMP from r322811.Bryan Drewery
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 Notes: svn path=/head/; revision=335447
2018-03-04When lld is ld, install bfd's man page as ld.bfd.1Ed Maste
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 Notes: svn path=/head/; revision=330366
2017-10-31Rename RELTOP since it will mean something else globally.Bryan Drewery
Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325189
2017-10-31DIRDEPS_BUILD: Update dependencies.Bryan Drewery
Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
2017-08-14Convert all the arm big endian tests into a regexp rather than a list.Warner Losh
Suggested by: emaste@ Notes: svn path=/head/; revision=322521
2017-01-27Rename LLD_AS_LD to LLD_IS_LD, for consistency with CLANG_IS_CCEd Maste
Reported by: Dan McGregor <dan.mcgregor usask.ca> Notes: svn path=/head/; revision=312855
2017-01-06Enable /usr/lib32 for o32 binaries on mips64.John Baldwin
Build and install an o32 set of libraries on mips64 suitable for running o32 binaries via COMPAT_FREEBSD32. Enable COMPAT_FREEBSD32 in MALTA64. Reviewed by: jmallett, imp Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D9032 Notes: svn path=/head/; revision=311567
2016-11-25Add WITH_LLD_AS_LD build knobEd Maste
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 Notes: svn path=/head/; revision=309142
2016-10-31Add full softfloat and hardfloat support for MIPS.Ruslan Bukin
This adds new target architectures for hardfloat: mipselhf mipshf mips64elhf mips64hf. Tested in QEMU only. Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D8376 Notes: svn path=/head/; revision=308130
2016-02-24DIRDEPS_BUILD: Regenerate without local dependencies.Bryan Drewery
These are no longer needed after the recent 'beforebuild: depend' changes and hooking DIRDEPS_BUILD into a subset of FAST_DEPEND which supports skipping 'make depend'. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=295989
2016-01-07Switch GNU ld to be installed as ld.bfd and linked as ldEd Maste
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 Notes: svn path=/head/; revision=293285
2015-12-23Install ld also as ld.bfd, for use with cc -fuse-ld=bfdEd Maste
PR: 205409 [exp-run] MFC after: 1 week Relnotes: Yes Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=292658
2015-11-25META MODE: Don't create .meta files when symlinking sources into the obj ↵Bryan Drewery
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 Notes: svn path=/head/; revision=291320
2015-11-24Fix ld not respecting --sysroot.Bryan Drewery
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 Notes: svn path=/head/; revision=291226
2015-10-16Avoid warning race with creating 'ldscripts' directory during build.Bryan Drewery
In r204548 the 'rm -f ldscripts' was added likely due to reading the conditional as 'else it is a file'. That seems unlikely though and the more likely case is just that the directory hasn't been created yet. Because this races with ,ssother scripts, use 'mkdir -p' which is a minimal modification vs upstream to avoid the warning of 'File exists' if another script creates it first. This could replace the 'test -d' as well but then it's more unneeded change to the upstream script. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=289410
2015-10-07Updated dependsSimon J. Gerraty
Notes: svn path=/head/; revision=288968
2015-09-25Fix subdir -j build after r287983 by adding missing dependencies.Bryan Drewery
Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288233
2015-09-25Fix emulation ldscripts not being installed since r131832.Bryan Drewery
For example, 32bit scripts on 64bit host. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288230
2015-09-21Use SHAREOWN/SHAREMODE/SHAREGRP rather than LIB* as these are plain ASCIIBryan Drewery
scripts that the linker can load rather than binary library objects. Effectively no change. Suggested by: hrs Notes: svn path=/head/; revision=288075
2015-09-19Replace afterinstall: hack with FILES mechanism.Bryan Drewery
Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=287983
2015-06-16new dependsSimon J. Gerraty
Notes: svn path=/head/; revision=284481
2015-06-13Add META_MODE support.Simon J. Gerraty
Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp Notes: svn path=/head/; revision=284345
2015-06-08dirdeps.mk now sets DEP_RELDIRSimon J. Gerraty
Notes: svn path=/projects/bmake/; revision=284172
2015-05-27Merge sync of headSimon J. Gerraty
Notes: svn path=/projects/bmake/; revision=283595
2014-11-23Fix rendering with mandocBaptiste Daroussin
Notes: svn path=/head/; revision=274935
2014-08-19Merge head from 7/28Simon J. Gerraty
Notes: svn path=/projects/bmake/; revision=270164
2014-07-07Remove ia64.Marcel Moolenaar
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 Notes: svn path=/head/; revision=268351
2014-05-10Updated dependenciesSimon J. Gerraty
Notes: svn path=/projects/bmake/; revision=265802
2014-05-08Merge from headSimon J. Gerraty
Notes: svn path=/projects/bmake/; revision=265720
2014-05-06Use src.opts.mk in preference to bsd.own.mk except where we need stuffWarner Losh
from the latter. Notes: svn path=/head/; revision=265420
2014-04-28Merge headSimon J. Gerraty
Notes: svn path=/projects/bmake/; revision=265044
2013-11-01Reimplement r257525 such that it work with the historic FreeBSD makeBrooks Davis
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 Notes: svn path=/head/; revision=257530
2013-10-28Enable the --sysroot=/foo option in ld by always building with a sysrootBrooks Davis
defined. When not building as a cross linker, the sysroot is set to "/". Exp-run by: bdrewery (ports/183206) MFC after: 3 days Notes: svn path=/head/; revision=257268
2013-10-28Correct ld(1) manual page for --no-add-needed set as default after r253839Eygene Ryabinkin
Approved by: dim MFC after: 2 weeks Notes: svn path=/head/; revision=257239
2013-03-11Updated dependenciesSimon J. Gerraty
Notes: svn path=/projects/bmake/; revision=248169
2013-02-16Updated dependenciesSimon J. Gerraty
Notes: svn path=/projects/bmake/; revision=246868
2013-02-08Sync with HEAD.David E. O'Brien
Notes: svn path=/projects/bmake/; revision=246555
2013-01-06Set the correct relocation type for R_ARM_TARGET2 to R_ARM_GOT_PREL. TheAndrew Turner
TARGET2 relocation is unused in the current ABI but this change is required for EABI support. Notes: svn path=/head/; revision=245101
2012-11-08Updated/new Makefile.dependSimon J. Gerraty
Notes: svn path=/projects/bmake/; revision=242788
2012-11-04Sync from headSimon J. Gerraty
Notes: svn path=/projects/bmake/; revision=242545
2012-08-22Sync FreeBSD's bmake branch with Juniper's internal bmake branch.Marcel Moolenaar
Requested by: Simon Gerraty <sjg@juniper.net> Notes: svn path=/projects/bmake/; revision=239572
2012-08-15Merging of projects/armv6, part 3Oleksandr Tymoshenko
r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extensions. In particular, these processors have better support for TLS and mutex operations. This mostly touches a lot of Makefiles to extend existing patterns for inferring CPUARCH from ARCH. It also configures: * GCC to default to arm1176jz-s * GCC to predefine __FreeBSD_ARCH_armv6__ * gas to default to ARM_ARCH_V6K * uname -p to return 'armv6' * make so that MACHINE_ARCH defaults to 'armv6' It also changes a number of headers to use the compiler __ARM_ARCH_XXX__ macros to configure processor-specific support routines. Submitted by: Tim Kientzle <kientzle@freebsd.org> Notes: svn path=/head/; revision=239272
2012-04-29Add src.conf option WITH_SHARED_TOOLCHAIN to enable building theKonstantin Belousov
toolchain binaries as dynamically linked. Option is disabled by default. Reviewed by: ru (previous version) MFC after: 2 weeks Notes: svn path=/head/; revision=234782
2011-11-19Rename the linker emulation name for powerpc and powerc64. This is needed thatAndreas Tobler
we can also use the upstream binutils linker where we have to have a unique name for the FreeBSD emulation. Notes: svn path=/head/; revision=227739
2011-03-22Change the load address from offset 0 in region 1 to offset 4G in region 0.Marcel Moolenaar
This (almost) gives us the address space back (at the bottom) that we lost at the top. Region 0 has traditionally been reserved for IA-32 emulation, which has not been of great interest. By starting 64-bit processes at the 4G boundary we at least preserve some of the advantages: 1. Any invalid pointer cast (from int to pointer and back) will still always fail and not only when more than 4GB of memory is in use. 2. Memory sharing between 64-bit and 32-bit processes is still possibly by using addresses < 4G. Notes: svn path=/head/; revision=219876
2011-03-22Branch from contrib/binutils/ld/emulparams/elf64_ia64_fbsd.s so thatMarcel Moolenaar
we can modify it. Notes: svn path=/head/; revision=219875