aboutsummaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/ld
Commit message (Collapse)AuthorAgeFilesLines
* Now that there are no remaining users of ld.bfd, remove the ld subdir.Brandon Bergren2020-03-2721-2878/+0
| | | | Notes: svn path=/head/; revision=359349
* Apply WITH_PIE changes to other binutils componentsEd Maste2019-03-251-2/+2
| | | | | | | | | | Followon to r345489, explicitly specified bare .a libraries need ${PIE_SUFFIX} (although these still built). MFC with: r345489 Notes: svn path=/head/; revision=345490
* Avoid bsd.files.mk duplicate rule warning for bfd ldscriptsAlex Richardson2019-01-092-3/+6
| | | | | | | | | | | | 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
* Disable sbrk() use in GNU tools.Brooks Davis2018-09-211-1/+1
| | | | | | | | | | | | | | 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
* Rework how the ld link is handled in WORLDTMP from r322811.Bryan Drewery2018-06-201-4/+3
| | | | | | | | | | | | | | 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
* When lld is ld, install bfd's man page as ld.bfd.1Ed Maste2018-03-041-0/+8
| | | | | | | | | | | 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
* Rename RELTOP since it will mean something else globally.Bryan Drewery2017-10-311-2/+2
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325189
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-311-1/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* Convert all the arm big endian tests into a regexp rather than a list.Warner Losh2017-08-141-1/+1
| | | | | | | Suggested by: emaste@ Notes: svn path=/head/; revision=322521
* Rename LLD_AS_LD to LLD_IS_LD, for consistency with CLANG_IS_CCEd Maste2017-01-271-1/+1
| | | | | | | Reported by: Dan McGregor <dan.mcgregor usask.ca> Notes: svn path=/head/; revision=312855
* Enable /usr/lib32 for o32 binaries on mips64.John Baldwin2017-01-061-0/+1
| | | | | | | | | | | | | 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
* Add WITH_LLD_AS_LD build knobEd Maste2016-11-251-0/+2
| | | | | | | | | | | | | | 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
* Add full softfloat and hardfloat support for MIPS.Ruslan Bukin2016-10-311-1/+1
| | | | | | | | | | | | | | 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
* DIRDEPS_BUILD: Regenerate without local dependencies.Bryan Drewery2016-02-243-89/+21
| | | | | | | | | | | 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
* Switch GNU ld to be installed as ld.bfd and linked as ldEd Maste2016-01-071-2/+3
| | | | | | | | | | | | | 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
* Install ld also as ld.bfd, for use with cc -fuse-ld=bfdEd Maste2015-12-231-0/+1
| | | | | | | | | | PR: 205409 [exp-run] MFC after: 1 week Relnotes: Yes Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=292658
* META MODE: Don't create .meta files when symlinking sources into the obj ↵Bryan Drewery2015-11-251-2/+2
| | | | | | | | | | | | | | 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
* Fix ld not respecting --sysroot.Bryan Drewery2015-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Avoid warning race with creating 'ldscripts' directory during build.Bryan Drewery2015-10-161-2/+1
| | | | | | | | | | | | | | | | 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
* Updated dependsSimon J. Gerraty2015-10-071-0/+1
| | | | Notes: svn path=/head/; revision=288968
* Fix subdir -j build after r287983 by adding missing dependencies.Bryan Drewery2015-09-255-0/+5
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288233
* Fix emulation ldscripts not being installed since r131832.Bryan Drewery2015-09-251-1/+1
| | | | | | | | | | For example, 32bit scripts on 64bit host. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288230
* Use SHAREOWN/SHAREMODE/SHAREGRP rather than LIB* as these are plain ASCIIBryan Drewery2015-09-211-3/+0
| | | | | | | | | | | scripts that the linker can load rather than binary library objects. Effectively no change. Suggested by: hrs Notes: svn path=/head/; revision=288075
* Replace afterinstall: hack with FILES mechanism.Bryan Drewery2015-09-191-4/+6
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=287983
* new dependsSimon J. Gerraty2015-06-161-0/+2
| | | | Notes: svn path=/head/; revision=284481
* Add META_MODE support.Simon J. Gerraty2015-06-133-0/+102
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * dirdeps.mk now sets DEP_RELDIRSimon J. Gerraty2015-06-082-4/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=284172
| * Merge sync of headSimon J. Gerraty2015-05-273-2/+52
| |\ | |/ |/| | | Notes: svn path=/projects/bmake/; revision=283595
| * Merge head from 7/28Simon J. Gerraty2014-08-194-36/+1
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=270164
| * | Updated dependenciesSimon J. Gerraty2014-05-101-0/+1
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265802
| * | Merge from headSimon J. Gerraty2014-05-081-1/+1
| |\ \ | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265720
| * \ \ Merge headSimon J. Gerraty2014-04-282-20/+25
| |\ \ \ | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=265044
| * | | | Updated dependenciesSimon J. Gerraty2013-03-111-0/+1
| | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=248169
| * | | | Updated dependenciesSimon J. Gerraty2013-02-161-2/+0
| | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=246868
| * | | | Sync with HEAD.David E. O'Brien2013-02-082-0/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=246555
| * | | | | Updated/new Makefile.dependSimon J. Gerraty2012-11-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=242788
| * | | | | Sync from headSimon J. Gerraty2012-11-041-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=242545
| * | | | | | Sync FreeBSD's bmake branch with Juniper's internal bmake branch.Marcel Moolenaar2012-08-221-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Requested by: Simon Gerraty <sjg@juniper.net> Notes: svn path=/projects/bmake/; revision=239572
* | | | | | | Fix rendering with mandocBaptiste Daroussin2014-11-231-2/+1
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | Notes: svn path=/head/; revision=274935
* | | | | | Remove ia64.Marcel Moolenaar2014-07-073-36/+0
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Use src.opts.mk in preference to bsd.own.mk except where we need stuffWarner Losh2014-05-061-1/+1
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | from the latter. Notes: svn path=/head/; revision=265420
* | | | Reimplement r257525 such that it work with the historic FreeBSD makeBrooks Davis2013-11-011-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Enable the --sysroot=/foo option in ld by always building with a sysrootBrooks Davis2013-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Correct ld(1) manual page for --no-add-needed set as default after r253839Eygene Ryabinkin2013-10-281-19/+19
| |_|/ |/| | | | | | | | | | | | | | | | | | | | Approved by: dim MFC after: 2 weeks Notes: svn path=/head/; revision=257239
* | | Set the correct relocation type for R_ARM_TARGET2 to R_ARM_GOT_PREL. TheAndrew Turner2013-01-062-0/+2
| |/ |/| | | | | | | | | | | | | TARGET2 relocation is unused in the current ABI but this change is required for EABI support. Notes: svn path=/head/; revision=245101
* | Merging of projects/armv6, part 3Oleksandr Tymoshenko2012-08-151-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add src.conf option WITH_SHARED_TOOLCHAIN to enable building theKonstantin Belousov2012-04-291-0/+3
| | | | | | | | | | | 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
* Rename the linker emulation name for powerpc and powerc64. This is needed thatAndreas Tobler2011-11-192-3/+3
| | | | | | | | 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
* Change the load address from offset 0 in region 1 to offset 4G in region 0.Marcel Moolenaar2011-03-222-3/+5
| | | | | | | | | | | | | | | | 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
* Branch from contrib/binutils/ld/emulparams/elf64_ia64_fbsd.s so thatMarcel Moolenaar2011-03-221-0/+7
| | | | | | | we can modify it. Notes: svn path=/head/; revision=219875