History log of /freebsd-11-stable/contrib/binutils/bfd/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
360318 25-Apr-2020 dim

MFC r354057 (by brooks):

binutils: Fix bugs found by -Wpointer-compare

The MIPS bug was introduced by upstream commit 7403cb630, which failed
to account for the additional indirection introduced and also dropped
one of the checks; change it to the standard "NULL-or-empty" check as
used elsewhere in BFD, which is also what upstream now has.

Submitted by: James Clarke <jrtc27@jrtc27.com>
Obtained from: CheriBSD
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D21911

357351 31-Jan-2020 dim

MFC r357226:

Merge r357224 from the clang1000-import branch:

Fix the following -Werror warning from clang 10.0.0 in binutils:

contrib/binutils/bfd/peicode.h:1356:3: error: misleading indentation; statement is not part of the previous 'if' [-Werror,-Wmisleading-indentation]
if (efi)
^
contrib/binutils/bfd/peicode.h:1353:8: note: previous statement is here
if (pe_arch (bfd_target_efi_arch (*target_ptr)) != arch)
^
contrib/binutils/bfd/peicode.h:1370:3: error: misleading indentation; statement is not part of the previous 'if' [-Werror,-Wmisleading-indentation]
if (!efi)
^
contrib/binutils/bfd/peicode.h:1367:8: note: previous statement is here
if (pe_arch (bfd_target_pei_arch (*target_ptr)) != arch)
^

327471 01-Jan-2018 dim

MFC r327164:

Fix clang 6.0.0 compiler warnings in binutils

Latest clang git has a warning -Wnull-pointer-arithmetic which will
trigger a -Werror failure. Addition and subtraction from a null pointer
is undefined behaviour and could be optimized into anything.

Furthermore, using the difference between two pointers and casting the
result back to a pointer is not portable since the size of ptrdiff_t
does not necessary have to be the same as size of void* (this happens
e.g. on CHERI). Using intptr_t instead fixes this portability issue and
the compiler warning.

Submitted by; Alexander Richardson
Obtained from: CheriBSD
Differential Revision: https://reviews.freebsd.org/D12928

326381 30-Nov-2017 emaste

MFC r326135: bfd: fix segfault in the ihex parser on malformed ihex file

From binutils commit 0102ea8cec5fc509bba6c91df61b7ce23a799d32, made
available under GPLv2 by Nick Clifton.

PR: 198824
Security: CVE-2014-8503

326379 30-Nov-2017 emaste

MFC r326136: bfd: avoid crash on corrupt binaries

From binutils commits 5a4b0ccc20ba30caef53b01bee2c0aaa5b855339 and
7e1e19887abd24aeb15066b141cdff5541e0ec8e, made available under GPLv2
by Nick Clifton.

PR: 198824
Security: CVE-2014-8501
Security: CVE-2014-8502

310368 21-Dec-2016 pfg

MFC r310132:
libbfd: make sure variables are initialized before using them.

Initialize l_sec_contents to make sure that free(l_sec_contents) is called
on valid pointers.

Obtained from: OpenBSD (partial CVS rev 1.18)

304516 20-Aug-2016 pfg

MFC r303147
binutils: fix "Bad value" error in bfd for MIPS when using -Bsymbolic.

From OpenBSD's log:

Inspired by https://sourceware.org/ml/binutils/2010-08/msg00333.html,
but expressed differently so there are no GPLv3 issues.

Obtained from: OpenBSD (CVS rev. 1.7)

302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
295901 22-Feb-2016 dim

Fix a problem in ld, causing it to sometimes print messages similar to
"invalid string offset 65521 >= 27261 for section `.strtab'". for object
files produced by recent versions of clang.

In BFD's elf_create_symbuf() function, the size of the symbol buffer
('ssymbuf') is not calculated correctly, and the initial value for the
'ssym' variable is off by one, since 'ssymbuf' has shndx_count + 1
members.

MFC after: 1 week


295857 21-Feb-2016 ian

Unconditionally set e_ident[OSABI]=ELFOSABI_FREEBSD in arm binary headers.

When the armv6 support was imported from a project branch, this complex
conditional logic and related #define'd values came along, but it's really
not clear what the intent of it all was. The effect, however, was that
OSABI was always set to zero, which is "UNIX System V ABI". Having the wrong
value there causes pkg(8) to avoid looking inside arm elf binaries to
determine shared-lib required/provides info for packaging.


292964 30-Dec-2015 ian

Add the MOVT/MOVW types to the list of relocs which do not generate .plt
entries. This fixes the segfaults in arm userland code compiled with
-march= or -mcpu= values that allow the compiler to generate movw/movt
sequences to load 32-bit constants.


292870 29-Dec-2015 ian

Correct the code for sign-extending a 16 bit value. As near as I can tell
this is effectively a no-op -- the addend term in MOVT/MOVW relocations
always seems to be zero. But this is correct and the old code wasn't.


282471 05-May-2015 andrew

Copy new attribute types when linking. bfd will copy attributes as needed,
however it will fail to output them if the type is not set correctly. This
can happen when it finds an attribute it hasn't seen before, for example
when building shared objects it will use the attributes from crti.o, hwever
this file has no attributes set.

Differential Revision: https://reviews.freebsd.org/D2413
Reviewed by: imp


282380 03-May-2015 imp

For eabi 5 (what FreeBSD uses), be sure to tag all executables and
shared libraries as either SOFT or HARD float to comply with the EABI
standard.

Differential Revision: https://reviews.freebsd.org/D2401


282379 03-May-2015 imp

When merging the floating point type attribute, and reporting an error
when things don't match, report which file has them and which one
doesn't correctly.

Differential Revision: https://reviews.freebsd.org/D2400


281048 03-Apr-2015 andrew

More ARM EABI object attributes in binutils. This adds support to binutils
to include the Unaligned Access and Floating-point Half-precision
attributes. the former marks ELF objects that may access ARMv6 style
unaligned data, the latter that the binary uses the VFPv3/Advanced SIMD
half-precision extension.

These may be emmitted by clang so it's best to print a warning when the
linker hits one of them.

Differential Revision: http://reviews.freebsd.org/D2194
Submitted by: Michal Meloun <meloun@miracle.cz>
MFC after: 1 week


279301 25-Feb-2015 emaste

GNU nm: Avoid NULL dereference

bfd_dwarf2_find_line() calls find_line() with NULL functionname_ptr,
which resulted in a crash on certain ELF objects.

This change was implemented independently from upstream binutils, but
I have checked that the crash does not happen there.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation


276651 04-Jan-2015 bapt

Add pregenerated documentation for as(1) and ld(1)


276352 29-Dec-2014 dim

In contrib/binutils/bfd/elf32-ppc.c, avoid warnings about case values
not being in the enumerated type 'enum elf_ppc_reloc_type', by casting
the switch argument to int.

MFC after: 3 days


275718 12-Dec-2014 jhibbits

Add new PowerPC relocations to binutils

Summary:
LLVM/Clang generates relocations that our binutils doesn't understand, but newer
binutils does. I got permission from the author of a series of patches to
relicense them as GPLv2 for use in FreeBSD. The upstream git hashes are:

ac2df442ac7901f00af15b272fc48b594b433713
2b95367962dc14f69d3c338c4d54195266e2e169
102890f04c44b64cf5cef4588267dd9f24086ac7
b7fcf6f6bb53b5027e111107f5416769cb9a5798
1d483afedd5a628dc84fb58d1d570f79fdfbfa7b
90aecf7a80c1cefeb45fc10a6cd02c8338e34b4c
3a71aa26df2a372a58e9c11ef9ba51fd0e83320a
727fc41e077139570ea8b8ddfd6c546b2a55627c

With the import of clang 3.5, and a few backported patches, we should be able to
move powerpc and powerpc64 to clang-as-cc soon.

Test Plan: Passes make tinderbox, so no regressions. Binaries built with clang
run on powerpc64.

Reviewers: #committers, dim

Reviewed By: dim

Differential Revision: https://reviews.freebsd.org/D1297

Obtained from: Alan Modra, upstream binutils-gdb git
MFC after: 3 weeks
Relnotes: yes


275386 02-Dec-2014 dim

Let GNU ld be less obscure about missing symbols and DSOs. If the BFD
object looks like a typical shared library, suggest adding '-l<foo>',
where <foo> has the 'lib' prefix and '.so<bar>' or '.a' suffix removed.

Otherwise, suggest adding '-l:<foo>', where <foo> is the full DT_SONAME.

Submitted by: Conrad Meyer <conrad.meyer@isilon.com>
Sponsored by: EMC / Isilon storage division
Reviewed by: emaste
PR: 194296
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D1152


275336 30-Nov-2014 andrew

Use llabs when getting the absolute value of a long long.

Sponsored by: ABT Ststems Ltd


272888 10-Oct-2014 bapt

Rename elf*-powerpc into elf*-powerpc-freebsd in binutils

The powerpc support was the only supported architecture not prepending the elf format name
with "-freebsd" in base this change makes it consistent with other architectures.
On newer version of binutils the powerpc format is also prepended with "-freebsd".

Also modify the kernel ldscripts in that regards.

As a result it is now possible cross build the kernel on powerpc using newer binutils

Differential Revision: https://reviews.freebsd.org/D926
Differential Revision: https://reviews.freebsd.org/D928


272564 05-Oct-2014 andrew

Merge the big-endian ARM targets together, and the little-endian ARM
targets. With this we assume any ARM target containing eb is big-endian,
otherwise it is little-endian.


272524 04-Oct-2014 andrew

Silence a warning about Tag_Virtualization_use being unknown. We don't
handle merging this tag correctly, however it's unused.


263660 23-Mar-2014 andrew

Add a new ARM TARGET_ARCH, armv6hf. This is considered experimental.

This targets the existing ARMv6 and ARMv7 SoCs that contain a VFP unit.
This is an optional coprocessors may not be present in all devices, however
it appears to be in all current SoCs we support.

armv6hf targets the VFP variant of the ARM EABI and our copy of gcc is too
old to support this. Because of this there are a number of WITH/WITHOUT
options that are unsupported and must be left as the default value. The
options and their required value are:
* WITH_ARM_EABI
* WITHOUT_GCC
* WITHOUT_GNUCXX

In addition, without an external toolchain, the following need to be left
as their default:
* WITH_CLANG
* WITH_CLANG_IS_CC

As there is a different method of passing float and double values to
functions the ABI is incompatible with existing armv6 binaries. To use
this a full rebuild of world is required. Because no floating point values
are passed into the kernel an armv6 kernel with VFP enabled will work with
an armv6hf userland and vice versa.


257302 29-Oct-2013 rea

binutils/bfd: fix printf-like format strings for "bfd *" arguments

There is a special format argument '%B' that directly handles values
of type 'bfd *', they must be used instead of '%s'. Manifestations
of this bug can be seen in ld(1) error messages, for example,
http://lists.freebsd.org/pipermail/freebsd-current/2013-August/043580.html
http://lists.freebsd.org/pipermail/freebsd-current/2013-October/045404.html

Approved by: dim
MFC after: 2 weeks


255982 02-Oct-2013 emaste

Use correct size for MIPS .rld_map section

On MIPS .dynamic is read-only and so a special section .rld_map is used
to store the pointer to the rtld information for debuggers. This
section had a hard coded size of 4 bytes which is not correct for
mips64. (Note that FreeBSD's rtld does not yet populate .rld_map.)

Sponsored by: DARPA, AFRL
Approved by: re (delphij)


255931 28-Sep-2013 dim

Fix a bug in ld, where indirect symbols are not handled properly during
linking of a shared library, leading to corrupt indexes in the dynamic
symbol table. This should fix the multimedia/ffmpegthumbnailer port.

Approved by: re (kib)
Reported by: swills
MFC after: 2 weeks


251227 01-Jun-2013 pfg

Revert: Use time_t instead of long for archive timestamps.

Back out for now: this breaks the i386 build and requires some revision.


251225 01-Jun-2013 pfg

BFD: Use time_t instead of long for archive timestamps.

This basically follows the suggestion in the binutils code and is more
in line with what BSD ar(1) does.

Obtained from: OpenBSD
MFC after: 2 weeks.


248802 27-Mar-2013 dim

Similar to r239870 and r239872, teach the other binutils tools about the
DW_FORM_flag_present dwarf attribute, so they do not print errors or
warnings on files that contain it. (This attribute can be emitted by
newer versions of clang and gcc.)

MFC after: 1 week


244600 22-Dec-2012 dim

Fix a bug in ld --gc-sections: it strips out .note sections, while it
should never do so. This can cause global constructors and destructors
to not be executed at run-time, resulting in crashes and other strange
behaviour.

Reported by: rene
MFC after: 1 week


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>


223262 18-Jun-2011 benl

Fix clang warnings.

Approved by: philip (mentor)


219530 11-Mar-2011 marius

In the upstream rev. 1.61 of elf64-sparc.c the following bug was fixed:

* elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
dynamic relocs against section symbols for the output section vma.

However, with the addition of TLS support in the upstream rev. 1.104
this fix was essentially reverted. After factoring out the common parts
of elf32-sparc.c and elf64-sparc.c a comment was added to elfxx-sparc.c
in the upstream rev. 1.27 as part of unrelated changes, saying that the
fix from elf64-sparc.c rev. 1.61 indeed should be implemented, but given
that some unspecified OS has a broken ld.so expecting broken relocations
deliberately is omitted.
As the current behavior actually violates the SPARC ABI, FreeBSD never
had such a broken ld.so and this is actually causing problems with at
least kernel modules linked with binutils 2.17.50 committed in r218822
without the workaround committed in r219340 in place, re-implement the
above fix in a way so that is only applied if the output format is
ELFOSABI_FREEBSD. In the upstream version it probably would make sense
to invert this check and only skip adjusting the addend for the OS with
the broken ld.so, once it's determine which one that is.

Approved by: dim


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


215679 22-Nov-2010 attilio

Add the ability for GDB to printout the thread name along with other
thread specific informations.

In order to do that, and in order to avoid KBI breakage with existing
infrastructure the following semantic is implemented:
- For live programs, a new member to the PT_LWPINFO is added (pl_tdname)
- For cores, a new ELF note is added (NT_THRMISC) that can be used for
storing thread specific, miscellaneous, informations. Right now it is
just popluated with a thread name.

GDB, then, retrieves the correct informations from the corefile via the
BFD interface, as it groks the ELF notes and create appropriate
pseudo-sections.

Sponsored by: Sandvine Incorporated
Tested by: gianni
Discussed with: dim, kan, kib
MFC after: 2 weeks


215256 13-Nov-2010 imp

Default to little endian output when building for little endian. This
got lost as a result of a mismerge a few months back and I didn't
notice until I collapsed tbemd into -head.

Submitted by: similar patch by kan@


215105 11-Nov-2010 cperciva

Zero the buffer containing the .gnu_debuglink section before writing
into it. Prior to this commit the .gnu_debuglink section can have up
to 3 bytes of uninitialized garbage; as a result, .ko files could
change vary between builds.

Approved by: dim
MFC after: 7 days


214950 07-Nov-2010 gonzo

Prevent endless loop by detecting broken MIPS.options


213274 29-Sep-2010 rpaulo

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.


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


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


206619 14-Apr-2010 imp

Add armeb-*-freebsd* to the list of known architectures. This is like
arm-*-freebsd*, except it defaults to big endian builds instead of
little endian builds.


185925 11-Dec-2008 imp

Push mips support into the tree.


179407 29-May-2008 obrien

Bring these back to HEAD.
(I thought ncvs@ had rm'ed these MIPS files a long time ago... SVN had
better work out - else 7 more files off the vendor branch.)


179405 29-May-2008 obrien

This commit was generated by cvs2svn to compensate for changes in r179404,
which included commits to RCS files with non-trunk default branches.


159400 08-Jun-2006 marius

This commit was generated by cvs2svn to compensate for changes in r159399,
which included commits to RCS files with non-trunk default branches.


131723 06-Jul-2004 obrien

This commit was generated by cvs2svn to compensate for changes in r131722,
which included commits to RCS files with non-trunk default branches.


130570 16-Jun-2004 obrien

Update HEAD with the stock binutils_2_15_20040523 file.


130566 16-Jun-2004 obrien

Merge rev 1.2 (configuration changes to support FreeBSD) into Binutils 2.15.


130563 16-Jun-2004 obrien

Merge our ELF branding into Binutils 2.15.


130562 16-Jun-2004 obrien

This commit was generated by cvs2svn to compensate for changes in r130561,
which included commits to RCS files with non-trunk default branches.


115361 28-May-2003 obrien

From FSF Binutils CVS repo:
2003-04-09 Richard Henderson <rth@redhat.com>
* elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
Ignore relocations against r_symndx == 0.

Requested by: kris,re(scottl)


107500 02-Dec-2002 obrien

Update HEAD with the stock files.


107497 02-Dec-2002 obrien

Remove our custom ELF branding -- we have moved to our own ELF vectors
that DTRT.


107496 02-Dec-2002 obrien

Merge our ELF branding into Binutils 2_13_2_20021127 snapshot.


107495 02-Dec-2002 obrien

GC some stuff I thought was long gone.


107493 02-Dec-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r107492,
which included commits to RCS files with non-trunk default branches.


107491 02-Dec-2002 obrien

Try to keep CVS from pissing over the next binutils import by returning
to purely stock files.


104872 11-Oct-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r104871,
which included commits to RCS files with non-trunk default branches.


104842 11-Oct-2002 obrien

We use the stock version of this file.


104841 11-Oct-2002 obrien

Merge rev 1.6 (ELF_DYNAMIC_INTERPRETER) into Binutils 2.13_20021110.


104840 11-Oct-2002 obrien

Merge rev 1.8 ("ELF_DYNAMIC_INTERPRETER") into Binutils 2.13_20021110 snap.


104839 11-Oct-2002 obrien

On second thought, garbage collect the OLD_BRANDELF_METHOD. FreeBSD 5.0
is a good point to break from this historical ABI-breaking method.


104838 11-Oct-2002 obrien

Merge our ELF branding into Binutils 2_13_20021011 snapshot.
(note that this will be the last Binutils update to offer our original
method of ELF branding (WANT_OLD_BRANDELF_METHOD))


104835 11-Oct-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r104834,
which included commits to RCS files with non-trunk default branches.


102735 31-Aug-2002 obrien

Merge rev 1.6 (ELF_DYNAMIC_INTERPRETER) into Binutils 2.12_20020720.


102730 31-Aug-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r102729,
which included commits to RCS files with non-trunk default branches.


99466 05-Jul-2002 obrien

We use the stock version of this file.


99465 05-Jul-2002 obrien

Merge rev 1.6 (ELF_DYNAMIC_INTERPRETER) into Binutils 2.12_20020622 snap.


99464 05-Jul-2002 obrien

Merge our ELF branding into Binutils 2.12_20020622 snapshot.
(note that this will be the last Binutils update to offer our original
method of ELF branding (WANT_OLD_BRANDELF_METHOD))


99462 05-Jul-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r99461,
which included commits to RCS files with non-trunk default branches.


94545 12-Apr-2002 obrien

Merge the stock 2.12.0 snap version.


94544 12-Apr-2002 obrien

Merge rev 1.6 (ELF_DYNAMIC_INTERPRETER) into Binutils 2.12_20020410 snap.


94543 12-Apr-2002 obrien

Merge rev 1.8 ("ELF_DYNAMIC_INTERPRETER") into Binutils 2.12_20020410 snap.


94542 12-Apr-2002 obrien

Merge our ELF branding into Binutils 2.12_20020410 snapshot.


94537 12-Apr-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r94536,
which included commits to RCS files with non-trunk default branches.


92831 20-Mar-2002 obrien

Commit the stock 2.12.0 release version.


92829 20-Mar-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r92828,
which included commits to RCS files with non-trunk default branches.


92203 13-Mar-2002 obrien

Remove bogon from bad merge.


91049 22-Feb-2002 obrien

Merge rev 1.6 (only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined
elsewhere) into Binutils 2.12_20020221_snap.


91048 22-Feb-2002 obrien

Merge rev 1.8 (only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined
elsewhere) into Binutils 2.12_20020221_snap.


91047 22-Feb-2002 obrien

Merge our ELF branding into Binutils 2.12_20020221_snap.


91042 22-Feb-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r91041,
which included commits to RCS files with non-trunk default branches.


89863 27-Jan-2002 obrien

Commit the stock 2.12.0_snap version.


89862 27-Jan-2002 obrien

Merge rev 1.6 (only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined
elsewhere) into Binutils 2.12.0_snap.


89861 27-Jan-2002 obrien

Merge rev 1.8 (only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined
elsewhere.) into Binutils 2.12.0_snap.


89860 27-Jan-2002 obrien

Merge our ELF branding into Binutils 2.12.0_snap.


89858 27-Jan-2002 obrien

This commit was generated by cvs2svn to compensate for changes in r89857,
which included commits to RCS files with non-trunk default branches.


88238 20-Dec-2001 peter

This commit was generated by cvs2svn to compensate for changes in r88237,
which included commits to RCS files with non-trunk default branches.


85816 01-Nov-2001 obrien

This commit was generated by cvs2svn to compensate for changes in r85815,
which included commits to RCS files with non-trunk default branches.


84866 13-Oct-2001 obrien

This commit was generated by cvs2svn to compensate for changes in r84865,
which included commits to RCS files with non-trunk default branches.


80017 20-Jul-2001 obrien

This commit was generated by cvs2svn to compensate for changes in r80016,
which included commits to RCS files with non-trunk default branches.


78835 26-Jun-2001 obrien

Merge rev 1.2 (configuration changes to support FreeBSD) into Binutils 2.11.2.


78834 26-Jun-2001 obrien

Really wish this could back on the vendor branch...
Commit the stock 2.11.2 version.


78833 26-Jun-2001 obrien

Merge rev 1.6 (only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined
elsewhere) into Binutils 2.11.2.


78832 26-Jun-2001 obrien

Merge rev 1.8 (only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined
elsewhere.) into Binutils 2.11.2.


78831 26-Jun-2001 obrien

Merge our ELF branding into Binutils 2.11.2.


78829 26-Jun-2001 obrien

This commit was generated by cvs2svn to compensate for changes in r78828,
which included commits to RCS files with non-trunk default branches.


77304 28-May-2001 obrien

CVS is too stupid to realize we use the stock version of this file now.


77303 28-May-2001 obrien

Merge rev 1.6 (only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined
elsewhere) into Binutils 2.11[.0].


77302 28-May-2001 obrien

Merge rev 1.8 (only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined
elsewhere.) into Binutils 2.11[.0].


77301 28-May-2001 obrien

Merge our ELF branding into Binutils 2.11[.0].
I have also turned off the older 100% against-the-gABI method[*].
If you must really have it, define "WANT_OLD_BRANDELF_METHOD".

[*] but left the stretching the gABI method until I finish writing the
notes section support in the ELF image loader.


77299 28-May-2001 obrien

This commit was generated by cvs2svn to compensate for changes in r77298,
which included commits to RCS files with non-trunk default branches.


69157 25-Nov-2000 obrien

Remove binutils 2.9.1 files that are not part of 2.10.x.


69131 25-Nov-2000 obrien

Remove this binutils 2.8.1 file that was never part of any FreeBSD release.


68771 15-Nov-2000 obrien

We use the stock version of this file now.
(Our needs have been addressed by the Binutils maintainers)


68770 15-Nov-2000 obrien

Only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined elsewhere.

FreeBSD does not adhear to the System V 64-bit ABI for the dynamic
[linker] interpreter, and thus must override this value.


68769 15-Nov-2000 obrien

Only define "ELF_DYNAMIC_INTERPRETER" if it isn't defined elsewhere.

FreeBSD does not adhear to the Intel386 System V ABI for the dynamic
[linker] interpreter, and thus must override this value.


68767 15-Nov-2000 obrien

Merge our ELF branding into Binutils 2.10.1.


68766 15-Nov-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r68765,
which included commits to RCS files with non-trunk default branches.


61845 20-Jun-2000 obrien

Merge in our ELF branding.


61844 20-Jun-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r61843,
which included commits to RCS files with non-trunk default branches.


60526 13-May-2000 obrien

Merge rev 1.2 (configuration changes to support FreeBSD)


60511 13-May-2000 obrien

Return this file back to the stock version.
The big fixed in rev 1.2 has also been fixed by the Bintuils maintainers.


60510 13-May-2000 obrien

Merge in rev 1.3 changes (Make the default dynamic linker pathname correct
for FreeBSD.)


60509 13-May-2000 obrien

Merge in rev 1.4 changes (Make the default dynamic linker pathname correct
for FreeBSD.)


60508 13-May-2000 obrien

Merge in our ELF branding.


60485 12-May-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r60484,
which included commits to RCS files with non-trunk default branches.


59379 18-Apr-2000 obrien

Rev 1.3 which resolved conflicts in the 2.9.1 import, used a comment from
2.8.1 rather than the new one in 2.9.1. This commit fixes that, is purely
cosmetic, and reduces the diff of our hacks to 2.9.1.


59342 18-Apr-2000 obrien

Change our ELF binary branding to something more acceptable to the Binutils
maintainers.

After we established our branding method of writing upto 8 characters of
the OS name into the ELF header in the padding; the Binutils maintainers
and/or SCO (as USL) decided that instead the ELF header should grow two new
fields -- EI_OSABI and EI_ABIVERSION. Each of these are an 8-bit unsigned
integer. SCO has assigned official values for the EI_OSABI field. In
addition to this, the Binutils maintainers and NetBSD decided that a better
ELF branding method was to include ABI information in a ".note" ELF
section.

With this set of changes, we will now create ELF binaries branded using
both "official" methods. Due to the complexity of adding a section to a
binary, binaries branded with ``brandelf'' will only brand using the
EI_OSABI method. Also due to the complexity of pulling a section out of an
ELF file vs. poking around in the ELF header, our image activator only
looks at the EI_OSABI header field.

Note that a new kernel can still properly load old binaries except for
Linux static binaries branded in our old method.

*
* For a short period of time, ``ld'' will also brand ELF binaries
* using our old method. This is so people can still use kernel.old
* with a new world. This support will be removed before 5.0-RELEASE,
* and may not last anywhere upto the actual release. My expiration
* time for this is about 6mo.
*


59161 12-Apr-2000 obrien

Slight cleaner code that may be more palatable to the Binutils maintainers.


59160 12-Apr-2000 obrien

Slightly cleaner branding code that may be more palatable to the Binutils
maintainers.


59025 05-Apr-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r59024,
which included commits to RCS files with non-trunk default branches.


57406 24-Feb-2000 jdp

Make the default dynamic linker pathname correct for FreeBSD.

I had resisted this for a while because I didn't want to take these
file off the vendor branch. But it turns out they were already off
the vendor branch anyway.

PR: gnu/9987
Submitted by: Vladimir Kushnir <kushn@mail.kar.net>
Approved by: jkh


48850 17-Jul-1999 dfr

Merge some patches from RedHat-6.0. The most important change fixes a bug
when linking large shared libraries where the linker missed out some of
the dynamic relocations from the output. This prevents libqt from linking
properly among other packages.

Obtained from: RedHat-6.0


44349 28-Feb-1999 imp

This commit was generated by cvs2svn to compensate for changes in r44348,
which included commits to RCS files with non-trunk default branches.


39494 19-Sep-1998 jdp

Fix segmentation violation that sometimes occurred when warning
symbols were used.

PR: bin/7980
Submitted by: Doug Rabson <dfr>


38891 06-Sep-1998 jdp

Resolve conflicts from import of binutils-2.9.1.

Submitted by: Doug Rabson <dfr>


38890 06-Sep-1998 jdp

This commit was generated by cvs2svn to compensate for changes in r38889,
which included commits to RCS files with non-trunk default branches.


33973 01-Mar-1998 jdp

Configuration changes to support FreeBSD. The linker only works for
ELF, not a.out. But all the other tools support both. I'm not so
sure about the assembler -- it might need more work.


33970 01-Mar-1998 jdp

Fix a bug which incorrectly caused files to be labeled as having
text relocations in certain situations.


33969 01-Mar-1998 jdp

Add automatic branding of FreeBSD ELF files.


33966 01-Mar-1998 jdp

This commit was generated by cvs2svn to compensate for changes in r33965,
which included commits to RCS files with non-trunk default branches.