summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/binutils/ld
Commit message (Collapse)AuthorAgeFilesLines
* Set the correct relocation type for R_ARM_TARGET2 to R_ARM_GOT_PREL. Theandrew2013-01-062-0/+2
| | | | | TARGET2 relocation is unused in the current ABI but this change is required for EABI support.
* Merging of projects/armv6, part 3gonzo2012-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>
* Add src.conf option WITH_SHARED_TOOLCHAIN to enable building thekib2012-04-291-0/+3
| | | | | | | | toolchain binaries as dynamically linked. Option is disabled by default. Reviewed by: ru (previous version) MFC after: 2 weeks
* Rename the linker emulation name for powerpc and powerc64. This is needed thatandreast2011-11-192-3/+3
| | | | | we can also use the upstream binutils linker where we have to have a unique name for the FreeBSD emulation.
* Change the load address from offset 0 in region 1 to offset 4G in region 0.marcel2011-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.
* Branch from contrib/binutils/ld/emulparams/elf64_ia64_fbsd.s so thatmarcel2011-03-221-0/+7
| | | | we can modify it.
* Fix typo: s/LIBSERACHPATH/LIBSEARCHPATH/gmarcel2011-03-219-11/+11
|
* Merge binutils 2.17.50 to head. This brings a number of improvements todim2011-02-188-164/+2297
|\ | | | | | | | | | | | | | | | | x86 CPU support, better support for powerpc64, some new directives, and many other things. Bump __FreeBSD_version, and add a note to UPDATING. Thanks to the many people that have helped to test this. Obtained from: projects/binutils-2.17
| * Sync: merge r215396 through r215463 from ^/head.dim2010-11-181-1/+1
| |
| * Sync: merge r214895 through r215140 from ^/head.dim2010-11-112-4/+2
| |\
| * | Update config.h for ld.dim2010-11-011-99/+15
| | |
| * | Add manpages under gnu/usr.bin/binutils, since they are generated.dim2010-11-011-0/+2156
| | |
| * | Most of binutils now compiles at WARNS=3, except for libiberty anddim2010-10-221-1/+0
| | | | | | | | | | | | libbfd, which still need WARNS=2.
| * | Update ldscript extension list.dim2010-10-211-1/+1
| | |
| * | Use one file per line in SRCS= definition, to make insertions anddim2010-10-211-3/+15
| | | | | | | | | | | | deletions easier, and sort the file list.
| * | Apply upstream changes to genscripts.sh, while attempting to keep thedim2010-10-211-5/+30
| | | | | | | | | | | | diff as small as possible.
| * | Remove weird double-pasted sections in armelfb?_fbsd.sh.dim2010-10-212-19/+0
| | |
| * | Regenerate config.h for ld.dim2010-10-211-108/+153
| | |
* | | Retire TARGET_ABI.imp2011-01-071-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement MACHINE_ARCH=mips64e[lb] to build N64 images. This replaces MACHINE_ARCH=mipse[lb] TARGET_ABI=n64. MACHINE_ARCH=mipsn32e[lb] has been added, but currently requires WITHOUT_CDDL due to atomic issues in libzfs. I've not investigated this much, but implemented this to preserve as much of the TARGET_ABI functionality that I could. Since its presence doesn't affect the working cases, I've kept it in for now. Added mips64e[lb] to make universe, so more kernels build. And I think this (finally) closes the curtain on the tbemd tree.
* | | Let gcc and ld know where to find 32 bit libraries on amd64.tijl2010-11-171-1/+1
| |/ |/| | | | | | | Reviewed by: arch@ Approved by: kib (mentor)
* | Complete the integration of tbemd branch into head.imp2010-11-102-4/+2
|/ | | | | | | | | | | | | | | | TARGET_BIG_ENDIAN is now completely dead, except where it was originally supposed to be used (internally in the toolchain building). TARGET_ARCH has changed in three cases: (1) Little endian mips has changed to mipsel. (2) Big endian mips has changed to mipseb. (3) Big endian arm has changed to armeb. Some additional changes are needed to make 'make universe' work on arm and mips after this change, so those are commented out for now. UPDATING information will be forthcoming. Any remaining rough edges will be hammered out in -current.
* Teach our toolchain how to generate 64-bit PowerPC binaries. This fixesnwhitehorn2010-07-101-0/+29
| | | | | | | | a variety of bugs in binutils related to handling of 64-bit PPC ELF, provides a GCC configuration for 64-bit PowerPC on FreeBSD, and associated build systems tweaks. Obtained from: projects/ppc64
* Add an alignment of 8 for sections in the n32 ABI. The default alignmentjchandra2010-06-252-0/+2
| | | | | | | | | of of 4 causes _end to be word aligned, which will be returned by sbrk. malloc(3), when compiled for n32, expects sbrk to return an 8-byte aligned value. Approved by: rrs (mentor)
* Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.jmallett2010-06-021-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | o) Add TARGET_ABI to the MIPS toolchain build process. This sets the default ABI to one of o32, n32 or n64. If it is not set, o32 is assumed as that is the current default. o) Set the default GCC cpu type to any specified TARGET_CPUTYPE. This is necessary to have a working "cc" if e.g. mips64 is specified, as binutils will refuse to link objects using different ISAs in some cases. o) Add support for n32 and n64 ABIs to binutils and GCC. o) Add additional required libgcc2 stubs for n32 and n64. o) Add support for the "mips64r2" architecture to GCC. Add the "octeon" o) When static linking, wrap default libraries in --start-group and --end-group. This is required for static linking to work on n64 with the interdependencies between libraries there. This is what other OSes that support n64 seem to do, as well. o) Fix our GCC spec to define __mips64 for 64-bit targets, not __mips64__, the former being what libgcc, etc., check and the latter seemingly being a misspelling of a hand merge from a Linux spec. o) When no TARGET_CPUTYPE is specified at build time, make GCC take the default ISA from the ABI. Our old defaults were too liberal and assumed that 64-bit ABIs should default to the MIPS64 ISA and that 32-bit ABIs should default to the MIPS32 ISA, when we are supporting or will support some systems based on earlier 32-bit and 64-bit ISAs, most notably MIPS-III. o) Merge a new opcode file (and support code) from a later version of binutils and add flags and code necessary to support Octeon-specific instructions. This should also make merging opcodes for other modern architectures easier. Reviewed by: imp
* Make the n32 scripts actually generate, ummm, n32 binaries... <blush>imp2010-03-042-2/+2
| | | | Submitted by: jmallet
* Add n32 ABI generators...imp2010-03-024-1/+11
| | | | Submitted by: neel, jmallet
* Remove alpha support from here too. FreeBSD 6 was the last branch toimp2010-02-031-33/+0
| | | | support it.
* Merge r195575 and 195530 from projects/mips to head by hand:imp2010-01-081-7/+14
| | | | | | | | | | r195575 | imp | 2009-07-10 12:24:02 -0600 (Fri, 10 Jul 2009) | 2 lines quick hack for the problem gonzo is seeing. r195530 | imp | 2009-07-10 01:18:30 -0600 (Fri, 10 Jul 2009) | 5 lines Always build all 4 emulators into the mips toolchain. # I think we have a gcc spec file issue with abi=64 since I have to do other # hacks to get it mostly kinda right.
* Push mips support for ld into the tree.imp2008-12-115-0/+40
|
* Force -O1 compilation when targeted for ia64. GCC 4 generatesmarcel2007-09-261-0/+4
| | | | | | | | | | 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)
* Reduce diff to vendor for maintance purposes.obrien2007-09-191-5/+6
| | | | Approved by: re(ken)
* In the case of a native build, set NATIVE to yes so that the code circuitsthomas2007-09-191-1/+4
| | | | | | | | | | | that need to be activated specifically for the case of a native linker actually are enabled. Specifically, this makes ld(1) look for shared libraries in LD_LIBRARY_PATH in the native case, as documented in the man page. PR: gnu/96481 Approved by: re (kensmith) MFC after: 2 weeks
* scripts for the arm port.imp2006-09-143-0/+45
| | | | | Submitted by: cognet@ Reviewed by: obrien and kan
* Fix the build and minor cleanup.imp2006-09-141-3/+4
|
* Build 'ld' supporting a big endian ARM if "TARGET_BIG_ENDIAN" is defined.obrien2006-09-121-1/+5
|
* Be consistent in quoting.obrien2006-07-224-8/+8
|
* Create a genscripts driver based on the PowerPC one.obrien2006-07-221-0/+12
|
* NOSHARED -> NO_SHAREDru2004-12-211-1/+1
|
* MAJOR cleanup of the Bmake framework.obrien2004-07-088-197/+57
| | | | | | | | | This includes removing all vestiges of the old not-really supported ability to build cross tools targeting non-FreeBSD systems, such as m68k Lynx and NetBSD. Move as much duplicated code from platform Makefiles into the shared Makefiles. Add a simple mechanism for specifying ELF 'ldscripts'. Also share as many .h files as possible (now a single bfd.h vs. one per platform).
* Our 'TOOLS_PREFIX' and not 'DESTDIR' matches what the stock GNU buildobrien2004-06-201-2/+2
| | | | framework wants.
* Updated Bmake framework for Binutils 2.15.obrien2004-06-169-60/+113
|
* style.Makefile(5):johan2004-02-241-1/+1
| | | | | | | | | | | Use WARNS?= instead of WARNS= For this to work properly for all part is the subdirectories the WARNS assignments in Makefile.inc0 are moved to the correspondning Makefile.inc. Approved by: obrien (binutils maintainer) Tested by: make universe
* Properly quote the lib path.obrien2003-08-196-6/+6
|
* Stage 3 of dynamic root support, con't.obrien2003-08-176-6/+6
| | | | 'ld' should also search /lib for dynamic libraries.
* s/x86_64/amd64/g where possible.obrien2003-08-171-2/+2
|
* Add elf_i386_fbsd emulation.obrien2003-07-011-0/+14
| | | | Obtained from: p4
* The AMD64 Hammer bits.obrien2003-04-261-0/+20
|
* Remove first attempt at x86-64 bits. We're going to call it "amd64" now.obrien2003-04-261-20/+0
| | | | Sponsored by: Microsoft
* Removed invasion into these makefiles by the "legacy" stuff;ru2003-04-121-3/+2
| | | | I have a better fix in the works.
* libbinutils.a needs basename(3); when the latter is providedru2003-04-111-2/+3
| | | | by -legacy, liblegacy.a should come last in the LDADD list.
OpenPOWER on IntegriCloud