Commit graph

121 commits

Author SHA1 Message Date
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
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
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
5abe265777 Push mips support into the tree. 2008-12-11 08:20:34 +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
468390dffd Add support for the 32-bit EFI target. 2008-04-17 23:36:35 +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
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
f6b979e59e .end -> .endif 2006-09-14 07:02:17 +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
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
Ruslan Ermilov
a35d88931c For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
David E. O'Brien
7d0fc2f49e 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).
2004-07-08 17:05:34 +00:00
David E. O'Brien
264ea182b8 With tmm's latest change to the sparc64 dynamic loader, we can remove this
hack to binutils and use the stock sparc64 sources.
2004-06-20 09:46:13 +00:00
Marcel Moolenaar
dad12fe587 Add the necessary branding of ELF files. This is relatively easy to
achieve on ia64, because we need to generate the ELF64/ia64 code and
simply tag elf-fbsd-brand.c at the end of it.

This hasn't actually been tested beyond trivial compilation testing.
A buildworld has been started and it's time I wait for my changes to
loop back to my local repo anyway. I'll get back to this in a couple
of hours...
2004-06-19 21:14:10 +00:00
Marcel Moolenaar
831f4a372e Add bfdwin.c to SRCS. The file contains support for mmap(2) windows
into a BFD. It's included in stock BFD on the platforms I checked
(i386 and ia64).
2004-06-19 20:50:57 +00:00
Marcel Moolenaar
5b728dfd69 Move the elf32-target.h and elf64-target.h targets from the MD
makefiles to the centralized makefile. This not only reduces
duplication, it also makes the MD quirks stand out better and
thus improves maintenance.
2004-06-19 20:37:38 +00:00
Marcel Moolenaar
690258427d Update to binutils 2.15:
o  BFD_VERSION_DATE now reflects the release date of 2.15,
o  BFD_VERSION now has the correct version number.

Previous values reflected 2.14.92 from a week prior to release.

While here, fix a whitespace (tab) nit.
2004-06-19 19:44:19 +00:00
Marcel Moolenaar
e6535bde1e Update to binutils 2.15:
o  HAVE_SEEKO and HAVE_TELLO are defined now. These are used in bfdio.c.
o  HAVE_STRTOULL is defined now. This is used in bfd.c.
2004-06-19 19:25:33 +00:00
Marcel Moolenaar
d84675107c Update to binutils 2.15. 2004-06-19 18:52:31 +00:00
David E. O'Brien
d8a921c775 Commit a crude hack so we get sparc64 snapshots working again with a
stable ld.so.  We need to revisit the rtld-elf/sparc64/rtld_start.S
rev. 1.5 and rtld-elf/sparc64/rtld_machdep.h rev. 1.5, which was
suppose to allow stock Binutils 2.13 (and later) to be used.
2004-06-17 16:08:20 +00:00
David E. O'Brien
e223c68bfc Updated Bmake framework for Binutils 2.15. 2004-06-16 07:09:44 +00:00
David E. O'Brien
cd4db58afd Revert rev 1.21 which configured with --enable-64-bit-bfd.
GDB 5.2 can't handle a 64-bit BFD on a 32-bit host.
We can revisit configuring with --enable-64-bit-bfd when we get a modern GDB.
2004-04-18 16:09:33 +00:00
David E. O'Brien
b35979bc2e Configure as --enable-64-bit-bfd. 2004-03-18 04:45:29 +00:00
Johan Karlsson
ca9c567178 Fix style bug in last commit,
add a tab after WARNS?=.

While I'm here fix other style bugs.

Submitted by:	bde (libbdf/Makefile)
2004-02-25 13:12:51 +00:00
Johan Karlsson
7ff8c436d3 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
2004-02-24 19:23:33 +00:00
Alexander Kabaev
08cbb1d115 Temporarily turn off -Werror for these components. 2003-07-11 05:24:32 +00:00
David E. O'Brien
9c3f1b326f bfd_elf32_i386_freebsd_vec is the only 32-bit vector we really need.
ar and nm aren't very smart when faced with multiple applicable vectors.
2003-07-01 17:29:48 +00:00
David E. O'Brien
584a637fee The AMD64 Hammer bits. 2003-04-26 03:28:21 +00:00
David E. O'Brien
0d6a130e24 Remove first attempt at x86-64 bits. We're going to call it "amd64" now.
Sponsored by:	Microsoft
2003-04-26 03:24:26 +00:00
David E. O'Brien
52678bf874 We need to support the bfd_efi_app_ia64_vec vector for loader support.
Submitted by:	Marcel
Approved by:	RE
2002-12-05 18:27:22 +00:00
David E. O'Brien
51c79e7572 Don't dike out ELF_DYNAMIC_INTERPRETER, we need this copy now.
This should have been committed with ia64/bfd.h rev 1.6.

Approved by:	RE
2002-12-05 18:19:18 +00:00
David E. O'Brien
de726134c8 Remove the ancient PEI cruft that is useless. 2002-12-02 10:50:38 +00:00
David E. O'Brien
f0c6e880d6 We can handle the bfd_elf32_i386_vec vector at the same time as the
bfd_elf32_i386_freebsd_vec.  This may help in intra-branch building.
2002-12-02 10:01:18 +00:00
David E. O'Brien
517870e5ec We can handle the bfd_elf64_alpha_vec vector at the same time as the
bfd_elf64_alpha_freebsd_vec.  This may help in intra-branch building.
2002-12-02 10:00:44 +00:00
David E. O'Brien
176b5bb70f Cleaner support of a DEFAULT_VECTOR. 2002-12-02 09:59:05 +00:00
David E. O'Brien
eda37098d9 Update for the Binutils 2.13.2 20021127 snapshot import. 2002-12-02 09:54:40 +00:00
David E. O'Brien
bf12a49e7c Handle the "HAVE_" defines via the VECS list. 2002-12-02 09:53:59 +00:00
David E. O'Brien
fb248dce89 Update for the Binutils 2.13.2 20021127 snapshot import.
Among other things, we don't need to redefine ELF_DYNAMIC_INTERPRETER here.
2002-12-02 09:49:57 +00:00
David E. O'Brien
597e16e012 We HAVE_STPCPY now. 2002-10-20 07:50:20 +00:00
David E. O'Brien
b2e2b36d0b Take a guess at what WARNS level will make this compile on ia64. 2002-10-14 00:05:49 +00:00
David E. O'Brien
cf56436d17 Update for 2.13 10-Oct-2002 import. 2002-10-12 04:38:20 +00:00
David E. O'Brien
4b7b08da18 Shut up GCC, don't shadow Version 6 standard functions. 2002-10-12 04:06:13 +00:00
David E. O'Brien
1a941a4b0d The 2.13-almost.1 import was done on 10/10, not 11/10. 2002-10-12 00:18:25 +00:00