Commit Graph

140 Commits

Author SHA1 Message Date
Roman Divacky
beaded8a1e Dont use -Werror when building libbfd and gnu as on powerpc64 with clang
as there are warnings.

Reviewed by:    nwhitehorn
2012-08-24 16:37:00 +00:00
Oleksandr Tymoshenko
4da573d910 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>
2012-08-15 03:21:56 +00:00
Dimitry Andric
ce8fb93178 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
2011-02-18 20:54:12 +00:00
Warner Losh
cd2ae2532f 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.
2011-01-07 20:26:33 +00:00
Dimitry Andric
e3c77b8170 For ia64, add a proper 'elf64-ia64-freebsd' output format to BFD, so the
ELF branding for FreeBSD is done in the same way as amd64, i386 and
sparc.  Something similar should probably also be done for arm, mips and
powerpc.
2010-12-05 20:24:22 +00:00
Dimitry Andric
9977fc32d1 Sync: merge r215319 through r215395 from ^/head, so ports can actually
build! :)
2010-11-16 10:33:41 +00:00
Nathan Whitehorn
ce0cfc0ef3 Garbage-collect some code made obsolete by the TBEMD import. 2010-11-15 22:12:13 +00:00
Dimitry Andric
1170f3d12e Sync: merge r214895 through r215140 from ^/head. 2010-11-11 20:52:24 +00:00
Warner Losh
e8dce5b9b3 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.
2010-11-10 06:39:49 +00:00
Dimitry Andric
964cec1081 Simply our custom OSABI branding 'stub'. It is presently still needed
for ia64, but I will integrate it into contrib/binutils/bfd/elfxx-ia64.c
later on, after which it can be removed entirely.
2010-11-03 16:39:55 +00:00
Dimitry Andric
0921c6ef0b Update Makefile, bfd.h and config.h.bsd for libbfd. 2010-11-01 19:41:22 +00:00
Dimitry Andric
1368e47f87 Make sure elf_fbsd_post_process_headers() is actually called for ia64.
This is done by prepending the file to elfxx-ia64, not appending it.

Additionally, reduce diffs between Makefile.amd64 and Makefile.ia64;
instead of echo'ing defines in Makefiles, just add the needed define to
elf-fbsd-brand.c directly, as it is only used for amd64 and ia64.
2010-10-26 17:49:17 +00:00
Dimitry Andric
e083002bca Most of binutils now compiles at WARNS=3, except for libiberty and
libbfd, which still need WARNS=2.
2010-10-22 20:46:08 +00:00
Dimitry Andric
6efa94bc57 Update BFD version and date, and add new upstream files. Also remove
the elf32-arm-fbsd.c kludge; it is now integrated cleanly into
contrib/binutils/bfd/elf32-arm.c.
2010-10-21 20:17:13 +00:00
Dimitry Andric
3213eafad2 Use one file per line in SRCS= definition, to make insertions and
deletions easier, and sort the file list.
2010-10-21 20:08:16 +00:00
Dimitry Andric
2afbe6d79d Regenerate bfd.h and config.h.fbsd. 2010-10-21 20:04:28 +00:00
Dimitry Andric
bd9ba01aba Update the BFD and binutils version defines. 2010-10-19 20:17:17 +00:00
Rui Paulo
da1eef674b Remove target peigen.c so that make doesn't warn us about it. 2010-09-30 07:12:09 +00:00
Rui Paulo
c5c0eabc00 Add support for the BFD target efi-app-x86_64.
This uses only GPL2 source code and is a requirement for a 64 bit EFI
boot loader.
2010-09-29 14:41:03 +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
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