freebsd-dev/contrib/binutils/bfd
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
..
doc Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
hosts Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2008-05-29 02:29:59 +00:00
po Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
acinclude.m4 Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
aclocal.m4 Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
aout0.c
aout32.c
aout64.c
aout-arm.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
aout-encap.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
aout-sparcle.c
aout-target.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
aoutf1.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
aoutx.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
archive64.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
archive.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
archures.c Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain. 2010-06-02 11:06:03 +00:00
armnetbsd.c Import of Binutils from the FSF 2.13 branch (just pre-.1 release). 2002-10-11 06:01:20 +00:00
bfd-in2.h Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain. 2010-06-02 11:06:03 +00:00
bfd-in.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
bfd.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
bfdio.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
bfdwin.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
binary.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
bout.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cache.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
ChangeLog Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
ChangeLog-0001 Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
ChangeLog-0203 Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
ChangeLog-9193
ChangeLog-9495
ChangeLog-9697
ChangeLog-9899
coff64-rs6000.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coff-alpha.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coff-arm.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coff-aux.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coff-i386.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coff-ia64.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coff-mips.c Bring these back to HEAD. 2008-05-29 02:43:05 +00:00
coff-ppc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coff-rs6000.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coff-sparc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coffcode.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coffgen.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cofflink.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
coffswap.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
config.bfd Add armeb-*-freebsd* to the list of known architectures. This is like 2010-04-14 19:03:27 +00:00
config.in Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
configure Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
configure.host Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
configure.in Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
corefile.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-alpha.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-arc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-arm.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-i386.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-ia64-opc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-ia64.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-mips.c Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain. 2010-06-02 11:06:03 +00:00
cpu-powerpc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-rs6000.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-s390.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
cpu-sparc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
demo64.c
dep-in.sed Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
dwarf1.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
dwarf2.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
ecoff.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
ecofflink.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
ecoffswap.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
efi-app-ia32.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
efi-app-ia64.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf32-arc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf32-arm.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf32-gen.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf32-i386-fbsd.c Import of Binutils from the FSF 2.13 branch (just pre-.1 release). 2002-10-11 09:15:11 +00:00
elf32-i386.c Update HEAD with the stock binutils_2_15_20040523 file. 2004-06-16 06:55:49 +00:00
elf32-mips.c Bring these back to HEAD. 2008-05-29 02:43:05 +00:00
elf32-ppc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf32-ppc.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-07-06 19:16:23 +00:00
elf32-s390.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf32-sparc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf32.c
elf64-alpha-fbsd.c Import of Binutils from the FSF 2.13 branch (just pre-.1 release). 2002-10-11 09:15:11 +00:00
elf64-alpha.c Update HEAD with the stock binutils_2_15_20040523 file. 2004-06-16 06:55:49 +00:00
elf64-gen.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf64-mips.c Bring these back to HEAD. 2008-05-29 02:43:05 +00:00
elf64-ppc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf64-ppc.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf64-s390.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf64-sparc.c * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a 2006-06-08 13:10:51 +00:00
elf64-x86-64.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf64.c
elf-bfd.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf-eh-frame.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf-strtab.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elf.c Merge our ELF branding into Binutils 2.15. 2004-06-16 06:02:14 +00:00
elfarm-nabi.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elfarm-oabi.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elfcode.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elfcore.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elflink.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elflink.h Update HEAD with the stock files. 2002-12-02 09:39:02 +00:00
elfn32-mips.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2008-05-29 02:29:59 +00:00
elfxx-ia64.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
elfxx-mips.c Add/improve mips64r2, Octeon, n32 and n64 support in the toolchain. 2010-06-02 11:06:03 +00:00
elfxx-mips.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2008-05-29 02:29:59 +00:00
elfxx-target.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
format.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
freebsd.h Merge rev 1.2 (configuration changes to support FreeBSD) into Binutils 2.15. 2004-06-16 06:13:06 +00:00
gen-aout.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
genlink.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
hash.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
host-aout.c
i386aout.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
i386bsd.c
i386freebsd.c
i386linux.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
i386netbsd.c
ieee.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
ihex.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
init.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libaout.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libbfd-in.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libbfd.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libbfd.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libcoff-in.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libcoff.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libecoff.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libieee.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libpei.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
libxcoff.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-07-06 19:16:23 +00:00
linker.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
MAINTAINERS
Makefile.am Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
Makefile.in Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
merge.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
mipsbsd.c Bring these back to HEAD. 2008-05-29 02:43:05 +00:00
netbsd-core.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
netbsd.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
opncls.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
osf-core.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
pe-arm.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
pe-i386.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
pe-mips.c Bring these back to HEAD. 2008-05-29 02:43:05 +00:00
pe-ppc.c
pei-mips.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2008-05-29 02:29:59 +00:00
peicode.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
peXXigen.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
PORTING
ppcboot.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
ptrace-core.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
README
reloc16.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
reloc.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
rs6000-core.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
sco5-core.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
section.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
simple.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
sparclinux.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
sparcnetbsd.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
srec.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
stab-syms.c
stabs.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
stamp-h.in
sunos.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
syms.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
sysdep.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
targets.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
targmatch.sed
tekhex.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
TODO
trad-core.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
version.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
xcoff-target.h Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00
xcofflink.c Import of Binutils from the FSF 2.15 branch (just post-.0 release). 2004-06-16 05:45:41 +00:00

BFD is an object file library.  It permits applications to use the
same routines to process object files regardless of their format.

BFD is used by the GNU debugger, assembler, linker, and the binary
utilities.

The documentation on using BFD is scanty and may be occasionally
incorrect.  Pointers to documentation problems, or an entirely
rewritten manual, would be appreciated.

There is some BFD internals documentation in doc/bfdint.texi which may
help programmers who want to modify BFD.

BFD is normally built as part of another package.  See the build
instructions for that package, probably in a README file in the
appropriate directory.

BFD supports the following configure options:

  --target=TARGET
	The default target for which to build the library.  TARGET is
	a configuration target triplet, such as sparc-sun-solaris.
  --enable-targets=TARGET,TARGET,TARGET...
	Additional targets the library should support.  To include
	support for all known targets, use --enable-targets=all.
  --enable-64-bit-bfd
	Include support for 64 bit targets.  This is automatically
	turned on if you explicitly request a 64 bit target, but not
	for --enable-targets=all.  This requires a compiler with a 64
	bit integer type, such as gcc.
  --enable-shared
	Build BFD as a shared library.
  --with-mmap
	Use mmap when accessing files.  This is faster on some hosts,
	but slower on others.  It may not work on all hosts.

Report bugs with BFD to bug-binutils@gnu.org.

Patches are encouraged.  When sending patches, always send the output
of diff -u or diff -c from the original file to the new file.  Do not
send default diff output.  Do not make the diff from the new file to
the original file.  Remember that any patch must not break other
systems.  Remember that BFD must support cross compilation from any
host to any target, so patches which use ``#ifdef HOST'' are not
acceptable.  Please also read the ``Reporting Bugs'' section of the
gcc manual.

Bug reports without patches will be remembered, but they may never get
fixed until somebody volunteers to fix them.