272461 |
03-Oct-2014 |
gjb |
Copy stable/10@r272459 to releng/10.1 as part of the 10.1-RELEASE process.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
257662 |
04-Nov-2013 |
brooks |
MFC r257530
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.
Sponsored by: DARPA/AFRL Approved by: re (glebius)
|
257459 |
31-Oct-2013 |
brooks |
MFC r257268:
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) Approved by: re (gjb)
|
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
245101 |
06-Jan-2013 |
andrew |
Set the correct relocation type for R_ARM_TARGET2 to R_ARM_GOT_PREL. The TARGET2 relocation is unused in the current ABI but this change is required for EABI support.
|
239272 |
15-Aug-2012 |
gonzo |
Merging of projects/armv6, part 3
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>
|
234782 |
29-Apr-2012 |
kib |
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
|
227739 |
19-Nov-2011 |
andreast |
Rename the linker emulation name for powerpc and powerc64. This is needed that we can also use the upstream binutils linker where we have to have a unique name for the FreeBSD emulation.
|
219876 |
22-Mar-2011 |
marcel |
Change the load address from offset 0 in region 1 to offset 4G in region 0. 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.
|
219875 |
22-Mar-2011 |
marcel |
Branch from contrib/binutils/ld/emulparams/elf64_ia64_fbsd.s so that we can modify it.
|
219811 |
21-Mar-2011 |
marcel |
Fix typo: s/LIBSERACHPATH/LIBSEARCHPATH/g
|
218822 |
18-Feb-2011 |
dim |
Merge binutils 2.17.50 to head. This brings a number of improvements to 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
|
217123 |
07-Jan-2011 |
imp |
Retire TARGET_ABI.
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.
|
215439 |
17-Nov-2010 |
tijl |
Let gcc and ld know where to find 32 bit libraries on amd64.
Reviewed by: arch@ Approved by: kib (mentor)
|
215082 |
10-Nov-2010 |
imp |
Complete the integration of tbemd branch into head.
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.
|
209867 |
10-Jul-2010 |
nwhitehorn |
Teach our toolchain how to generate 64-bit PowerPC binaries. This fixes 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
|
209520 |
25-Jun-2010 |
jchandra |
Add an alignment of 8 for sections in the n32 ABI. The default alignment 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)
|
208737 |
02-Jun-2010 |
jmallett |
Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain.
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
|
204685 |
04-Mar-2010 |
imp |
Make the n32 scripts actually generate, ummm, n32 binaries... <blush>
Submitted by: jmallet
|
204548 |
02-Mar-2010 |
imp |
Add n32 ABI generators...
Submitted by: neel, jmallet
|
203435 |
03-Feb-2010 |
imp |
Remove alpha support from here too. FreeBSD 6 was the last branch to support it.
|
201851 |
08-Jan-2010 |
imp |
Merge r195575 and 195530 from projects/mips to head by hand:
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.
|
185923 |
11-Dec-2008 |
imp |
Push mips support for ld into the tree.
|
172326 |
26-Sep-2007 |
marcel |
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)
|
172243 |
19-Sep-2007 |
obrien |
Reduce diff to vendor for maintance purposes.
Approved by: re(ken)
|
172241 |
19-Sep-2007 |
thomas |
In the case of a native build, set NATIVE to yes so that the code circuits 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
|
162301 |
14-Sep-2006 |
imp |
scripts for the arm port.
Submitted by: cognet@ Reviewed by: obrien and kan
|
162300 |
14-Sep-2006 |
imp |
Fix the build and minor cleanup.
|
162241 |
12-Sep-2006 |
obrien |
Build 'ld' supporting a big endian ARM if "TARGET_BIG_ENDIAN" is defined.
|
160578 |
22-Jul-2006 |
obrien |
Be consistent in quoting.
|
160576 |
22-Jul-2006 |
obrien |
Create a genscripts driver based on the PowerPC one.
|
139112 |
21-Dec-2004 |
ru |
NOSHARED -> NO_SHARED
|
131832 |
08-Jul-2004 |
obrien |
MAJOR cleanup of the Bmake framework. 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).
|
130757 |
20-Jun-2004 |
obrien |
Our 'TOOLS_PREFIX' and not 'DESTDIR' matches what the stock GNU build framework wants.
|
130575 |
16-Jun-2004 |
obrien |
Updated Bmake framework for Binutils 2.15.
|
126197 |
24-Feb-2004 |
johan |
style.Makefile(5): 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
|
119136 |
19-Aug-2003 |
obrien |
Properly quote the lib path.
|
119051 |
17-Aug-2003 |
obrien |
Stage 3 of dynamic root support, con't. 'ld' should also search /lib for dynamic libraries.
|
119050 |
17-Aug-2003 |
obrien |
s/x86_64/amd64/g where possible.
|
117130 |
01-Jul-2003 |
obrien |
Add elf_i386_fbsd emulation.
Obtained from: p4
|
114050 |
26-Apr-2003 |
obrien |
The AMD64 Hammer bits.
|
114049 |
26-Apr-2003 |
obrien |
Remove first attempt at x86-64 bits. We're going to call it "amd64" now.
Sponsored by: Microsoft
|
113398 |
12-Apr-2003 |
ru |
Removed invasion into these makefiles by the "legacy" stuff; I have a better fix in the works.
|
113369 |
11-Apr-2003 |
ru |
libbinutils.a needs basename(3); when the latter is provided by -legacy, liblegacy.a should come last in the LDADD list.
|
113136 |
05-Apr-2003 |
imp |
Migrate to a new way of dealing with building from old revisions of FreeBSD. This method attempts to centralize all the necessary hacks or work arounds in one of two places in the tree (src/Makefile.inc1 and src/tools/build). We build a small compatibility library (libbuild.a) as well as selectively installing necessary include files. We then include this directory when building host binaries.
This removes all the past release compatibilty hacks from various places in the tree. We still build on tip of stable and current. I will work with those that want to support more, although I anticipate it will just work.
Many thanks to ru@, obrien@ and jhb@ for providing valuable input at various stage of implementation, as well as for working together to positively effect a change for the better.
|
109618 |
21-Jan-2003 |
obrien |
The PowerPC-specfic scripttempl file was depreciated in favor of the generic ELF one.
|
107643 |
05-Dec-2002 |
obrien |
Change the default emulation to elf64_sparc_fbsd. This emulation knows the correct spelling of our rtld.
|
107641 |
05-Dec-2002 |
obrien |
Change the default emulation to elf64_ia64_fbsd. This knows the proper spelling of our rtld.
|
107504 |
02-Dec-2002 |
obrien |
Update for the Binutils 2.13.2 20021127 snapshot import.
|
105502 |
20-Oct-2002 |
obrien |
We HAVE_STPCPY now.
|
104961 |
12-Oct-2002 |
obrien |
Update for 2.13 10-Oct-2002 import.
|
104878 |
11-Oct-2002 |
obrien |
Sync with 2.13. Reduce forking by using multiple sed expressions rather than piping thru tr(1). Also prefer case over for+test, as case will handle regex's nicely.
Note we can't exactly follow the real 2.13 genscripts.sh as we wind up with multiple "'s in search paths. It is too late tonight to track down why.
|
104876 |
11-Oct-2002 |
obrien |
witch over to the new FreeBSD bfd vec and emulation
|
104875 |
11-Oct-2002 |
obrien |
Switch over to the new FreeBSD emulation and bfd vec
|
100872 |
29-Jul-2002 |
ru |
Drop support for COPY, -c has been the default mode of install(1) for a long time now.
Approved by: bde
|
96853 |
18-May-2002 |
obrien |
The AMD x86-64 Hammer bits.
|
96780 |
17-May-2002 |
obrien |
Update to Binutils 2.12.0 and stick to the native emulation for now. This lets us get on the with the task at hand -- porting FreeBSD. We can get fancy later on.
|
93361 |
29-Mar-2002 |
obrien |
Make it easier to change the native emulation.
Tested on: alpha, i386, sparc64
|
92840 |
20-Mar-2002 |
obrien |
Update to Binutils 2.12.0 release.
|
92306 |
15-Mar-2002 |
obrien |
Uggg!! LD ME HARDER!! Rev 1.2 changed the default emulation from ``elf64_sparc'' to ``elf32_sparc'' and I never noticed it after my review of rev 1.1. Backing the change of the default emulation out, and Wa-la!, I can now build a native [and usable] binutils. WTF, the "-m elf64_sparc" parameter handed to `ld' by `gcc' wasn't DTRT is beyond me.
|
92237 |
13-Mar-2002 |
obrien |
Support linking with -z combreloc (combine and sort reloc sections) and with --shared -z combreloc (shared library, combine & sort relocs)
Submitted by: peter Bribed by: peter Fixes: IA-64, Kaffe, and QT Doesn't fix ports by: kris Tested on: make(1) release w/docproj Desired for: 5.0-DP#1 Approved by: murray Seconded by: jhb
|
92206 |
13-Mar-2002 |
obrien |
Turn up WARNS as high as possible.
Tested by: gcc31, gcc32, /usr/bin/cc
|
90330 |
07-Feb-2002 |
obrien |
Set the SCRIPTDIR to be rooted at TOOLS_PREFIX rather than DESTDIR. (the two may be different (ie, build vs. runtime)) Allow ldscript's SEARCH_DIR do be rooted somewhere other than `/'. (in this case at TOOLS_PREFIX)
These changes are most helpful during `make buildworld' so that the shared libs built in the middle of `make buildworld' are used vs. the ones in /usr/lib on the build machine.
Submitted by: ru
|
89886 |
27-Jan-2002 |
obrien |
Change the way the version strings are handled.
|
84954 |
15-Oct-2001 |
obrien |
Binutils 2.11.2 build framework for the FreeBSD/IA-64 target.
|
84914 |
14-Oct-2001 |
obrien |
You know the last revision will work better if the TARGET_TUPLE is set conditionally....
|
84913 |
14-Oct-2001 |
obrien |
Allow easier override of the configure tuple, in case you wanted to build as "powerpc-obrien-freebsd" rahter than "powerpc-unknown-freebsd" for example.
|
84911 |
14-Oct-2001 |
obrien |
Clean up a little bit more.
|
84910 |
14-Oct-2001 |
obrien |
Clean up the formatting.
|
84909 |
14-Oct-2001 |
obrien |
We do "sparc64", not "sparc".
|
83877 |
24-Sep-2001 |
ru |
Fixed the buildworld breakage in cross-tools caused by misuse of /usr/src/include headers. This REALLY fixes the 20010919 src/UPDATING entry.
With this patch the 4.2-RELEASE box was able to survive the 5.0-CURRENT "make world".
Beat over the head with this patch: obrien
|
77571 |
01-Jun-2001 |
obrien |
Minor style reformatting.
|
77570 |
01-Jun-2001 |
obrien |
Upgrade to Binutils 2.11.0.
|
77324 |
28-May-2001 |
obrien |
Upgrade to Binutils 2.11.0.
|
76253 |
03-May-2001 |
obrien |
Total hack to fix broken bootstrap. Add -I/usr/src/include at the tail end of the include searching. We really need a real fix for the issue of which set of headers to use in compiling the cross-tools -- /usr/include, or /usr/src/include.
|
75400 |
11-Apr-2001 |
obrien |
Remove MIPS support. It has rotted quite badly and no one has provided updates for it.
|
73218 |
28-Feb-2001 |
obrien |
Allow "NOSHARED" to be overridden.
Submitted by: bde
|
73146 |
27-Feb-2001 |
obrien |
Make critical toolchain binaries staticly linked in this development version of the OS.
|
72798 |
21-Feb-2001 |
obrien |
Our OS name is "freebsd", not "freebsdelf"
|
69164 |
25-Nov-2000 |
obrien |
`stringify.sed' has been replaced by `astring.sed' [on ANSI-C systems].
|
60777 |
22-May-2000 |
obrien |
Pull the switch and activate our Binutils to a snapshot of the up and comming 2.10 release.
|
58959 |
03-Apr-2000 |
steve |
Build and install the elf32_sparc ld(1) scripts and make elf32_sparc the default emulation.
|
58953 |
02-Apr-2000 |
steve |
First cut at the (non-contrib) bits needed to build the binutils distribution for FreeBSD/Sparc64.
Reviewed by: obrien
|
58947 |
02-Apr-2000 |
steve |
The ld directory is in ${SRCDIR} not ${BINUTILSDISTDIR}.
|
58683 |
27-Mar-2000 |
bde |
Use `${dir}/libfoo.a' instead of `-L${dir} -lfoo' for local static libraries in LDADD so that `make checkdpadd' doesn't report non-errors.
Fixed some style bugs (the usual ones for DPADD and LDADD, and misformatting of $FreeBSD$).
|
54748 |
17-Dec-1999 |
marcel |
s/MACHINE_ARCH/TARGET_ARCH/g
The target machine is represented by TARGET_ARCH. MACHINE_ARCH always represents the host machine. When TARGET_ARCH is not defined, it is assumed to be equal to MACHINE_ARCH. This means that we're building a native toolset by default. We're creating cross-compilation tools when MACHINE_ARCH != TARGET_ARCH.
TARGET_ARCH is defined when building binutils as part of the bootstrap build and is set to reflect the architecture we're currently cross- building. With this change binutils is ready for cross-building.
|
52957 |
07-Nov-1999 |
jb |
Replace freebsdelf with freebsd in most places.
Requested by: obrien
|
52943 |
06-Nov-1999 |
jb |
Add support for additional architectures.
|
52941 |
06-Nov-1999 |
jb |
Use the simplified genscripts.sh and set the cross-compiled library directory to /usr/cross/${MACHINE_ARCH}-freebsdelf/usr/lib so that the cross tools behave the same way that the host versions do. When building cross tools, Cygnus doesn't set the default library directory. This doesn't suit FreeBSD IMHO.
Add WinNT emulation support too. You only get this if you've set BINUTILSDISTDIR because the contrib/binutils repository doesn't contain the required sources.
|
52940 |
06-Nov-1999 |
jb |
Use the simplified genscripts.sh and set the cross-compiled library directory to /usr/cross/${MACHINE_ARCH}-freebsdelf/usr/lib so that the cross tools behave the same way that the host versions do. When building cross tools, Cygnus doesn't set the default library directory. This doesn't suit FreeBSD IMHO.
|
52939 |
06-Nov-1999 |
jb |
This is a simplified version of the binutils script which better suits the (few) things that the FreeBSD makefiles need to specify.
|
52938 |
06-Nov-1999 |
jb |
Add a BINUTILSDISTDIR hook here too.
|
50472 |
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
45904 |
21-Apr-1999 |
imp |
TARGET was being defined wrong, causing ld to always fail. It is the name of the bfd target, not the gnu-standard target name. Corrected to be elf32-{big,little}mips from mipse[bl]-unknown-freebsd.
DEFAULT_EMULATION was bogusly defined, causing ld to always fail (this was masked by the TARGET bogosity). Define correctly as elf32bmip and elf32lmip. Mips doesn't follow the same conventions as i386 and alpha do in this area.
ld now appears to work correctly for the uncommitted mips changes to egcs.
|
44360 |
01-Mar-1999 |
imp |
Add TARGET_ARCH=mipsel and TARGET_ARCH=mipseb as a valid targets. Unlike the unisex architecutres we've had so far, mips is bisexual. These tools can produce either byte sex, and the compiler/make determines the proper gender to use. Otherwise, we'd have to have had mipsel and mipseb in all the places that we have just mips. And there are other complications with doing that (binutils doesn't like to build mips tools without both byte genders, it seems).
Introduced BINUTIL_ARCH so that other bisexual architectures can a generic mechanism.
We cannot just define MACHINE_ARCH as mips because we need to differentiate big and little endian types of binaries. Discussions on freebsd-arch have hashed out this issue (and the parallel libc issues). NetBSD is moving towards mipsel and mipseb for their two flavors of mips ports (in time for 1.4, if this change hasn't already been accomplished).
I've been building i386 worlds with this tree for a three months with these files in place with no ill effects.
|
38892 |
06-Sep-1998 |
jdp |
Update for import of binutils-2.9.1.
Submitted by: Doug Rabson <dfr>
|
36627 |
04-Jun-1998 |
bde |
Removed superfluous beforedepends. Their files were already in SRCS.
|
36623 |
04-Jun-1998 |
bde |
Don't use beforedepend; just put generated headers in SRCS. ldgram.h was already put in SRCS by the general yacc rules. Putting ldemul-list.h in SRCS fixes races in `make -jN' when .depend hasn't been made.
Don't forget to clean ldemul-list.h.
|
36615 |
03-Jun-1998 |
peter |
Add missing DPADD's.
|
35946 |
11-May-1998 |
jb |
The yacc makefile changes don't seem to know when to generate the header file and when not to, so for the time being make sure the sucker gets generated up front.
|
35717 |
04-May-1998 |
jb |
Work out the list of emulations based on the cross-architectures defined. The TARGET is now set from an included makefile.
|
35716 |
04-May-1998 |
jb |
Add cross-architecture support.
|
35692 |
04-May-1998 |
bde |
Fixed races in `make -jN' using new yacc rules. This also fixes plain `make' (without a previous `make depend').
|
34955 |
30-Mar-1998 |
jdp |
Give up on a.out support in binutils. It has too many problems to be worth much effort. Install all i386 binutils programs in "/usr/libexec/elf". Disable a.out support in libbfd. It's too dangerous to leave it in. Some of the utilities think they can handle a.out, but they generate bad object files.
|
34495 |
12-Mar-1998 |
jdp |
Restructure the binutils hierarchy somewhat in order to better support building it for variant architectures. It was already becoming clear that the former structure was too rigid and didn't scale well.
The usual sort of makefile magic arranges to .include an architecture specific makefile "Makefile.${MACHINE_ARCH}" in each directory where it exists. Also, sources will be found in each subdirectory "${MACHINE_ARCH}" that exists. This is all taken care of automatically by the top level "Makefile.inc0".
This all seems to work right for the i386 now. I have also converted those alpha pieces already present to the new schema as best I could.
Also: change the BINDIR on the i386 to /usr/libexec/elf for "ar" and "ranlib". They are not object format independent enough to put into /usr/bin.
|