Commit Graph

544 Commits

Author SHA1 Message Date
Warner Losh
25faff346c MFtbemd:
Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want
to test of all the CPUs of a given family conform.
2010-08-23 22:24:11 +00:00
Nathan Whitehorn
2cf64c8006 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
2010-07-10 02:29:22 +00:00
Jayachandran C.
d12582eb67 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)
2010-06-25 05:07:42 +00:00
Juli Mallett
5619a3e4bf 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
2010-06-02 11:06:03 +00:00
Warner Losh
9737f6898d Make the n32 scripts actually generate, ummm, n32 binaries... <blush>
Submitted by:	jmallet
2010-03-04 04:30:16 +00:00
Warner Losh
69be831fc8 Add n32 ABI generators...
Submitted by:	neel, jmallet
2010-03-02 05:43:04 +00:00
Warner Losh
8f2411c3b5 Remove alpha support from here too. FreeBSD 6 was the last branch to
support it.
2010-02-03 18:32:29 +00:00
Warner Losh
c684b5612f Remove more traces of the Alpha port. 2010-02-03 18:29:35 +00:00
Warner Losh
e70f20b0e8 Remove another reference to alpha... 2010-02-03 02:39:08 +00:00
Warner Losh
7eb498c3b5 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.
2010-01-08 23:09:11 +00:00
Warner Losh
bd8c0ffba9 Merge from project/mips r195021:
r195021 | gonzo | 2009-06-25 18:44:23 -0600 (Thu, 25 Jun 2009) | 2 lines
- Add MIPS to the list of 32-bit architectures
2010-01-08 23:06:56 +00:00
Warner Losh
5abe265777 Push mips support into the tree. 2008-12-11 08:20:34 +00:00
Warner Losh
d7aeea2745 Push mips support for ld into the tree. 2008-12-11 08:18:45 +00:00
Warner Losh
7932522f76 Push mips support for as into the tree. 2008-12-11 08:15:14 +00:00
Rui Paulo
a9435ff4dd Enable EFI target.
While there, make use of the DEFAULT_VECTOR variable.
2008-08-31 09:17:27 +00:00
Marcel Moolenaar
4655d57927 Lower WARNS to avoid warning about type-punned casting. 2008-05-04 04:13:35 +00:00
Marcel Moolenaar
468390dffd Add support for the 32-bit EFI target. 2008-04-17 23:36:35 +00:00
Ruslan Ermilov
b18c84b4db Set AR=gnu-ar and RANLIB=gnu-ranlib on systems where we are forced
to use GNU tools.  Remove the _WITH_GNUAR knob.

Prodded by:	obrien
2008-03-02 11:10:46 +00:00
Ruslan Ermilov
d0ca999980 Make again BSD ar(1) the default system ar(1), now properly handling
source upgrades by falling back to GNU ar(1) as necessary.  Option
WITH_BSDAR is gone.  Option _WITH_GNUAR to aid in upgrades is *not*
supposed to be set by the user.

Stop bootstrapping BSD ar(1) on the next __FreeBSD_version bump, as
there are no known bugs in it.  Bump __FreeBSD_version to anticipate
this and to flag the switch to BSD ar(1), should it be needed for
something.

Input from:	obrien, des, kaiw
2008-02-25 16:16:17 +00:00
David E. O'Brien
fcc69fd9f7 If 'WITH_BSDAR' is defined, install as gnu-<util_name>. 2008-02-21 16:59:02 +00:00
Kai Wang
7a76718800 Back out previous commit. Restore Binutils ar as default. Disconnect
'BSD' ar to the build.

Requested by: 	des
2008-02-21 16:12:46 +00:00
Kai Wang
d0e2abaf12 * Connect ar(1) to the build and make it default ar. Rename GNU
binutils ar and ranlib to gar and granlib, respectively.

* Introduce a temporary variable WITH_GNUAR as a safety net.
When buildworld with -DWITH_GNUAR, GNU binutils ar and ranlib
will install as default ones and 'BSD' ar will be disabled.

* Bump __FreeBSD_version to reflect the import of 'BSD' ar(1).

Approved by:		 jkoshy (mentor)
2008-02-21 11:21:29 +00:00
Marcel Moolenaar
af025ea9a7 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)
2007-09-26 01:31:28 +00:00
David E. O'Brien
6a859d67c1 Reduce diff to vendor for maintance purposes.
Approved by:	re(ken)
2007-09-19 14:19:32 +00:00
Thomas Quinot
a0b65c7be0 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
2007-09-19 12:17:39 +00:00
Marcel Moolenaar
6c7ef9a0f8 Fix PowerPC-targeted cross-builds performed on 64-bit platforms.
Only PowerPC supports both 32-bit and 64-bit targets and the
BFD_DEFAULT_TARGET_SIZE is used by the binutils code to reflect
the preferred ABI. We define BFD_DEFAULT_TARGET_SIZE for all
platforms, but based on the build machine. As such 64-bit build
machines defined BFD_DEFAULT_TARGET_SIZE incorrectly for 32-bit
targets, but since this only affects PowerPC it went unnoticed
for a long time.
The fix is to define BFD_DEFAULT_TARGET_SIZE based on the target
architecture.

PR: amd64/102996
MFC after: 1 month
2007-02-11 07:15:06 +00:00
David E. O'Brien
ffe2c5e5a5 Allow one to force with issue with 'TARGET_BIG_ENDIAN'. 2006-11-06 02:32:29 +00:00
Kip Macy
777552aef6 Temporarily add newer copy of tc-sparc.c to build to
support building of sun4v. This can be removed once
the binutils import happens.

Reviewed by: kan
Approved by: rwatson (mentor)
2006-10-09 04:52:14 +00:00
Warner Losh
38ede4873d Remove redundant default vector
Submitted by: ru@
2006-09-14 08:21:20 +00:00
Warner Losh
4c808aa2bb fix the build: add missing end of line cont character 2006-09-14 07:48:16 +00:00
Warner Losh
70e66c2fbd scripts for the arm port.
Submitted by: cognet@
Reviewed by: obrien and kan
2006-09-14 07:46:32 +00:00
Warner Losh
a8e874edc2 Fix the build and minor cleanup. 2006-09-14 07:44:05 +00:00
Warner Losh
f6b979e59e .end -> .endif 2006-09-14 07:02:17 +00:00
Warner Losh
77e84bed77 Config file for arm assembler 2006-09-14 06:39:07 +00:00
Warner Losh
f3168f1544 TARGET_BIG_ENDIAN isn't appropriate here. __ARMEB__ is sufficient and
besides, TARGET_BIG_ENDIAN isn't defined anyway.
2006-09-14 06:36:13 +00:00
David E. O'Brien
e9231ad68b Style sync. 2006-09-12 19:24:01 +00:00
David E. O'Brien
6b31c6b17f Craft the FreeBSD/ARM ABI by hacking the New ARM ABI source.
Submitted by:	cognet
2006-09-12 07:03:58 +00:00
David E. O'Brien
da07c79f6a Default vector to big endian ARM if "TARGET_BIG_ENDIAN" is defined. 2006-09-12 07:02:15 +00:00
David E. O'Brien
25024d95e9 Build 'ld' supporting a big endian ARM if "TARGET_BIG_ENDIAN" is defined. 2006-09-12 06:59:39 +00:00
David E. O'Brien
fc2717a0d2 Configure for for big endian if TARGET_BYTES_BIG_ENDIAN is defined. 2006-09-12 06:39:27 +00:00
David E. O'Brien
78b00795ef Define build 'as' TARGET_BYTES_BIG_ENDIAN if "TARGET_BIG_ENDIAN" is defined.
This is needed for bi-sex architectures.
2006-09-11 18:07:09 +00:00
Marcel Moolenaar
711feca61e Add rs6000 to the architectures on PowerPC. It's needed by gdb(1). 2006-08-24 02:36:21 +00:00
David E. O'Brien
7a8f16b8bd Fix typo.
Submitted by:	kevlo
2006-08-10 16:39:55 +00:00
David E. O'Brien
1acfb1b180 Add ARM platform Makefile for building BFD. We include the New ARM ABI only.
(rev 1.1 was an accidental commit)
2006-07-22 14:55:55 +00:00
David E. O'Brien
dbff1be7a8 Be consistent in quoting. 2006-07-22 14:37:17 +00:00
David E. O'Brien
0b47627195 Create a genscripts driver based on the PowerPC one. 2006-07-22 14:36:15 +00:00
John-Mark Gurney
b5fbf2189d remove these vestiges of gdbserver.. It hasn't built in a long time, and
now really belongs in gdb, not binutils..  Plus, these don't resemble what
the new gdbserver looks like.
2006-03-31 00:37:42 +00:00
David E. O'Brien
01950bb64f Use the system gnuregex library vs. building GNU regex bits into libiberty
and using them.

Reviewed by:	marcel,imp
Desired by:	ache
2005-02-14 12:10:14 +00:00
Ruslan Ermilov
6fa13ec06f Scheduled mdoc(7) sweep. 2005-01-09 19:54:23 +00:00
Ruslan Ermilov
83c7ade90a NOSHARED -> NO_SHARED 2004-12-21 09:59:45 +00:00