History log of /freebsd-11-stable/contrib/binutils/
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

359755 09-Apr-2020 kevans

gas: mark dwarf2_loc_mark_labels as extern

Compiling with -fno-common complains as this header's included in multiple
compilation units. In fact, the proper definition of dwarf2_loc_mark_labels
already exists in dwarf2dbg.c, so simply mark this declaration with extern.

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)
^

331689 28-Mar-2018 emaste

MFC r315522: use INT3 instead of NOP for x86 binary padding

We should never end up executing the inter-function padding, so we
are better off faulting than silently carrying on to whatever function
happens to be next.

Note that LLD does this by default.

Sponsored by: The FreeBSD Foundation

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

323489 12-Sep-2017 rlibby

MFC r323192:

gnu binutils: FSGSBASE assembly/disassembly

318776 24-May-2017 mmel

MFC r318135:

Fix parsing of 'vmov Q<n>.F32,Q<n>.F32' instruction.

314573 03-Mar-2017 emaste

MFC r312899: add octeon+ as an alias for octeon in GCC & binutils

r208737 added support for the "mips64r2" architecture and "octeon" CPU,
and the saa/saad instructions.

Upstream binutils also added the "octeon+" CPU, and the saa/saad
instructions are only available in octeon+, not octeon. Since our
base system tool chain already accepts saa/saad with -march=octeon,
just allow octeon+ as an alias.

This allows the use of octeon+ in kernel config files, for use with both
external tool chain and in-tree GCC/binutils.

Also includes GCC FBSD_CC_VER bump (r313041 in HEAD)

PR: 216516
Sponsored by: The FreeBSD Foundation

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
300960 29-May-2016 ed

Replace local prototype of basename() with an inclusion of <libgen.h>.

libiberty currently defines the prototype for basename() itself instead
of using <libgen.h>. It still uses the BSD-style prototype instead of
the POSIX one, meaning that if FreeBSD would switch over to the POSIX
one, you wouldn't be able to use libiberty.h and libgen.h in a single
source file. It turns out that kgdb does this. Patch up libiberty to
just include <libgen.h>.

I'm currently talking to upstream to see whether we can come up with a
more complete solution that could be integrated, but for our
unmaintained copy of GDB in base, let's just apply the simplest
workaround possible.

Reviewed by: pfg
Differential Revision: https://reviews.freebsd.org/D6631


300333 20-May-2016 pfg

gas: Implement the .inst assembler directive for arm.

We normally use the binutils from ports but on other systems this
is required for building gcc 4.9.

Obtained from: OpenBSD (CVS rev. 1.5)
MFC after: 3 weeks


300304 20-May-2016 pfg

gas/config/tc-arm.c: Minor re-sorting to match upstream history.

No functional change.

MFC after: 2 weeks


296417 05-Mar-2016 dim

Upgrade our copies of clang, llvm, lldb and compiler-rt to 3.8.0
release.

Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11
support to build; see UPDATING for more information.

Release notes for llvm and clang will soon be available here:
<http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html>

Thanks to Ed Maste, Roman Divacky, Davide Italiano and Antoine Brodin
for their help.

Relnotes: yes


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.


290494 07-Nov-2015 bapt

Improve collation string and locales support

Merge collation support from Illumos and DragonflyBSD.

Locales are now generated with the new localedef(1) tool from CLDR POSIX files.
The generated files are now identified as "BSD 1.0" format.

The libc now only read "BSD 1.0" locales definitions, all other version will be
set to "C"
The localedef(1) tool has been imported from Illumos and modified to use tree(3)
instead of the CDDL avl(3)
A set of tool created by edwin@ and extended by marino@ for dragonfly has been
added to be able to generate locales and the Makefiles from the vanilla CLDR
unicode databases + a universal UTF-8 charmap (by marino@)
Update the locales to unicode v27
Given our regex(3) does not support multibyte (yet) it has been forced to always
use locale C
Remove now unused colldef(1) and mklocale(1)
Finish implementing the numeric BSD extension for ctypes
The number of supported locales has grown from 175 to 250 locales. Among the new
locales: 6 Arabic locales (AE EG JO MA QA SA), Different variations of spanish
locales.
Added new 3 components locales for mn_Cyrl_MN, sr_Cyrl_RS sr_Latn_RS,
zh_Hans_CN, zh_Hant_HK and zh_Hant_TW. Some aliases has been for 2 components
version when possible.

Thanks: Garrett D'Amore (Illumos) who made sure all his work was done under
BSD license!, Edwin Groothuis (edwin@) for the work he made on tools to be able
to generate locales definition usable in freebsd sources out of vanilla CLDR
definitions, John Marino (DragonflyBSD) who first merge the Illumos work into
Dragonfly and spent hours tracking down bugs.


290102 28-Oct-2015 bapt

Merge mpsutil(8) branch

mpsutil(8)/mprutil(8) are new utilities for managing LSI Fusion-MPT
2/3 controllers (mps(4) and mpr(4))

For now only informational commands have been implemented.

This utility has been written by scottl@ [1] and polished by myself[2]

Submitted by: scottl
Discussed with: scottl
Relnotes: yes
Sponsored by: Netflix [1]
Sponsored by: Gandi.net [2]


288943 06-Oct-2015 dim

Upgrade our copies of clang, llvm, lldb, compiler-rt and libc++ to 3.7.0
release.

Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11
support to build; see UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.7.0/tools/clang/docs/ReleaseNotes.html>

Thanks to Ed Maste, Andrew Turner and Antoine Brodin for their help.

Exp-run: antoine
Relnotes: yes


288099 22-Sep-2015 dim

In binutils' arm-dis.c, avoid left-shifting a negative number.

Submitted by: dan.mcgregor_usask.ca (Dan McGregor)
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D3376


286519 09-Aug-2015 dim

In GNU as, avoid left-shifting negative integers, which is undefined.

MFC after: 3 days


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


280031 15-Mar-2015 dim

Upgrade our copy of clang, llvm and lldb to 3.6.0 release.

Please note that from 3.5.0 onwards, clang/llvm/lldb require C++11
support to build; see UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.6.0/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.6.0/tools/clang/docs/ReleaseNotes.html>

Thanks to Ed Maste for the lldb part of this upgrade.

Exp-run: antoine


279530 02-Mar-2015 bapt

Remove pregenerated text version of the texinfo documentation


279528 02-Mar-2015 bapt

Generate manpage out of the texinfo files using texi2mdoc


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


279187 22-Feb-2015 nwhitehorn

Add some opcodes for assembling forthcoming VSX (Vector-Scalar eXtension)
support in the kernel. Userspace programs are expected to rely on LLVM's
integrated assembler or newer binutils.


278586 11-Feb-2015 tijl

Fix ldscripts such that ld(1) collects the .fini_array section in the same
order as the .init_array section. Finalisation routines need to be called
in the opposite order as their corresponding initialisation routines but
rtld(1) handles that by calling the function pointers in .fini_array in
reverse order.

Reviewed by: kib
MFC after: 2 weeks


276651 04-Jan-2015 bapt

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


276650 04-Jan-2015 bapt

Fix generating documentation with modern texinfo


276647 04-Jan-2015 bapt

Fix generating documents with modern texinfo


276479 31-Dec-2014 dim

Upgrade our copy of clang, llvm and lldb to 3.5.0 release.

Please note that this version now requires C++11 support to build; see
UPDATING for more information.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.5.0/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.5.0/tools/clang/docs/ReleaseNotes.html>

Thanks to Ed Maste, Roman Divacky, Andrew Turner, Justin Hibbits and
Antoine Brodin for their invaluable help with this import.

Approved by: portmgr (antoine)
MFC after: 1 month


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


276346 28-Dec-2014 dim

In contrib/binutils/gas/config/tc-ppc.c, fix a few -Wformat-security
warnings.

MFC after: 3 days


276229 26-Dec-2014 pfg

Backport fix for binutils 11867: .quad directive not assembled correctly

Alan Modra (and Alan's employer) graciously permitted use of his patch
under GPLv2.

Obtained from: OpenBSD
MFC after: 5 days


276228 26-Dec-2014 pfg

gas: use memmove instead of bogus memcpy.

partial_where points into the buffer that begins with buffer_start
so we need to use memmove() to handle the overlap.
Sourceware-PR 11456.

Obtained from: OpenBSD (CVS rev. 1.2)
MFC after: 3 days


275873 18-Dec-2014 jhibbits

Make gas parse '__tls_get_addr(foo@tlsgd)'.

Corresponds to 727fc41e077139570ea8b8ddfd6c546b2a55627c.

This allows us to use -no-integrated-as with clang, if we prefer.

Obtained from: binutils-gdb (Relicensed from Alan Modra as GPLv2)
MFC after: 2 weeks
X-MFC-with: r275718


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


275584 07-Dec-2014 andrew

Fix mrc and mrc2 with APSR_nzcv. Binutils encodes it internally as 0 where
we need it to be set to 15 for it to be equivalent to r15.

MFC after: 1 week
X-MFC with: r275415
Sponsored by: ABT Systems Ltd


275415 02-Dec-2014 andrew

Allow the UAL APSR_nzcv format for the mrc and mrc2 instructions. The clang
integrated assembler only allows these forms so binutils will need to
support them.

MFC after: 1 Week
Sponsored by: AB Systems Ltd


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


275240 29-Nov-2014 bapt

Implement --no-fatal-warning for compatibility with newer ld
what ever order the options are passed to ld(1) the --no-fatal-warning always
disable --fatal-warning


274856 22-Nov-2014 dim

Avoid undefined behaviour in gas's rotate_left() macro for n == 0.
Otherwise, clang can effectively remove the first iteration of the for
loops where this macro is invoked, and as a result, "cmp r0, #99" fails
to assemble.

Obtained from: joerg at netbsd
MFC after: 3 days


274817 21-Nov-2014 jhb

Improve support for XSAVE with debuggers.
- Dump an NT_X86_XSTATE note if XSAVE is in use. This note is designed
to match what Linux does in that 1) it dumps the entire XSAVE area
including the fxsave state, and 2) it stashes a copy of the current
xsave mask in the unused padding between the fxsave state and the
xstate header at the same location used by Linux.
- Teach readelf() to recognize NT_X86_XSTATE notes.
- Change PT_GET/SETXSTATE to take the entire XSAVE state instead of
only the extra portion. This avoids having to always make two
ptrace() calls to get or set the full XSAVE state.
- Add a PT_GET_XSTATE_INFO which returns the length of the current
XSTATE save area (so the size of the buffer needed for PT_GETXSTATE)
and the current XSAVE mask (%xcr0).

Differential Revision: https://reviews.freebsd.org/D1193
Reviewed by: kib
MFC after: 2 weeks


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.


272519 04-Oct-2014 andrew

Add movw and movt relocations to the list of relocations against function
names that must nnot be adjusted. This fixes a bug where code such as:
movw r2, :lower16:symbol
movt r2, :upper16:symbol

It is common for clang to generate such code when targeting armv7.


272476 03-Oct-2014 andrew

Allow vld and vst instructions to use the canonical form from ARM ARM when
including an alignment. Previously binutils would only allow instructions
in the form "vld1.64 {d0, d1}, [r0, :128]" where the final comma should
not be there, instead the above instruction should be
"vld1.64 {d0, d1}, [r0:128]".

This change duplicates the alignment code from within the function to
handle this case.


272473 03-Oct-2014 andrew

Add all the dmb/dsb optional limitations, including the alternative values.
These are needed for some code llvm generates when targeting ARMv7.


272472 03-Oct-2014 andrew

Allow the optional limitation on dmb instructions as is already the case
with dsb instructions.


270757 28-Aug-2014 tijl

In r253839 the default behaviour of ld(1) was changed such that all
libraries that need to be linked into an executable or library have to be
listed on the command line explicitly. This commit fixes a bug in ld(1)
where it would scan dependencies of the libraries on the command line and
link them if needed if they were also found in ld.so.cache.

The important bit of the patch is the initialisation of needed.by such that
libraries found by scanning dependencies are marked as such and not used in
the link.

The patch is a backport of binutils git commit
d5c8b1f8561426b41aa5330ed60f578178fe6be2

The author gave permission to use it under GPLv2 terms.

PR: 192062
Exp-run by: antoine
MFC after: 1 week


269394 01-Aug-2014 ian

Teach as(1) to handle the arm .arch_extension pseudo-op, which accepts
the same values as the -march= command line option. Add support for the
"sec" extension (security extensions).

We've been getting away without support for the sec extension because
it's bogusly enabled even on arches where its presence is optional. This
support for .arch_extension is being added mainly so that we can use the
right directives in our source code, and that helps folks using external
toolchains (and will help us when we finally update our toolchain).


269393 01-Aug-2014 ian

Fix an bug in as(1) parsing of arm -march=arch+ext options. Compare the
arch name to just the characters before the '+' in 'arch+ext'.


266391 18-May-2014 jhb

Add support for the 'rdseed' instruction.


264238 07-Apr-2014 dim

For GNU as, add two missing modes for each of the fcomip and fucomip
instructions. Partially obtained from OpenBSD by Pedro Giffuni, while I
added the fcomip variants.

Apparently this should help with compiling certain variants of WebKit.

MFC after: 3 days


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.


261422 03-Feb-2014 jhibbits

Make gas accept any PowerPC instruction by default. This is a local change,
and will not be submitted upstream.

Discussed with: nwhitehorn,rdivacky
MFC after: 1 month


261175 26-Jan-2014 pfg

binutils: add support for Intel SMAP-related instructions

Add support for stac/clac instructions to manipulate the flag
that controls the behaviour of Intel's Supervisor Mode Access
Prevention (SMAP) feature.

Tested by: dim
Obtained from: OpenBSD
MFC after: 5 days


260021 28-Dec-2013 marcel

Fix cross-compilation of ia64 target code with clang.


258017 11-Nov-2013 pfg

cxxfilt: small changes from Apple's developer tools

From Apple's Developer Tools 4.0 [1]:

demangle.patch
2007-05-05 Geoffrey Keating
(d_name): Detect local-source-name.
(d_prefix): Likewise.
(d_unqualified_name): Implement local-source-name.

libiberty-printf.patch

MFC after: 1 month

[1] http://opensource.apple.com/source/cxxfilt/cxxfilt-9/patches/


257464 31-Oct-2013 sbruno

Queisce warning about attempting to add char * together and use explicit
array indexing to indicate what is meant to be done


257463 31-Oct-2013 sbruno

Queisce warning about attempting to add char * together and use explicit
array indexing to indicate what is meant to be done


257360 29-Oct-2013 sbruno

Queisce warning about empty bodies in these loops by bumping the ;; to the
next line.


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


256859 21-Oct-2013 emaste

Don't force 64-bit DWARF2 on MIPS

64-bit debug data is only necessary for objects with greater than 4GB of
debug data, and is not used on other 64-bit FreeBSD targets.

Sponsored by: DARPA, AFRL


256790 20-Oct-2013 andrew

Merge from projects/arm_eabi_vfp r255380:

Fix the VCVT instruction. It must round towards zero when converting from
a floating-point to an integer value. This was not the case causing issues
when printing certain values.

There is a VCVTR instruction that will round depending on the current
rounding mode. We don't yet support this instruction, or setting the
rounding mode.


256692 17-Oct-2013 emaste

Fix .debug_line prologue header length calculation for 64-bit DWARF

The header_length field is the number of bytes following the field to
the first byte of the line number program. The hard-coded constants
previously here (4 + 2 + 4) were correct only for 32-bit DWARF.

Sponsored by: DARPA, AFRL


256112 07-Oct-2013 dim

Add support for assembling and disassembling Intel Random Number
Generator extensions (e.g. the 'rdrand' mnemonic) to our copy of
binutils.

Approved by: re (kib)
Obtained from: OpenBSD, via pfg
MFC after: 1 week


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


255874 26-Sep-2013 andrew

Add an elf note on ARM to store the MACHINE_ARCH an executable was built
for. This is useful for software needing to know which architecture a
binary is built for as arm and armv6 have slight differences meaning only
some binaries build for one will work as expected on the other. It is
expected pkgng will be able to make use of this to simplify the logic to
determine which package ABI to use.

Approved by: re (kib)


255522 13-Sep-2013 emaste

Improve readelf notes output for Linux ELF files

Add four ELF note constants:
- NT_FILE and NT_SIGINFO (core file notes output by recent Linux kernels)
- NT_GNU_ABI_TAG (was incorrectly reported as NT_VERSION)
- NT_GNU_BUILD_ID (used for locating standalone debug files)

Approved by: re (kib)


255192 03-Sep-2013 jhb

Add support for the 'invpcid' instruction to binutils and DDB's
disassembler on amd64.

MFC after: 1 month


254449 17-Aug-2013 andrew

Silence a warning that is incorrect on ARMv6 and later. In the smull, umull,
smlal, and umlal the output registers are allowed to be the same as either
input registers, where in ARMv4 and ARMv5 they could only be the same as the
last input register.


253839 31-Jul-2013 bapt

Change default behaviour of ld(1) to not recursively copy DT_NEEDED

This is the default behaviour of the newer binutils as well as most alternative linkers.
All the ports tree has been fixed to be able to link properly with this new behaviour.


253461 19-Jul-2013 emaste

Correct ELF note decoding for non-core files

Requested by: kib


253454 18-Jul-2013 emaste

Correct alignment in note output


253453 18-Jul-2013 emaste

Remove accidentally cut-and-pasted colons


253451 18-Jul-2013 emaste

Handle FreeBSD-specific ELF notes

Add a function to return the specific type, when the note's Name field is
'FreeBSD'.

r249558 added FreeBSD-specific ELF note types that reuse type numbers of
existing generic / Linux types. This caused 'readelf -n' to produce
incorrect output on FreeBSD core files.

Sponsored by: DARPA, AFRL
MFC after: 3 days


251665 12-Jun-2013 emaste

Handle DW_TAG_rvalue_reference_type

2012-05-21 Jim Ingham <jingham@apple.com>

* dwarf2read.c (process_die): Handle DW_TAG_rvalue_reference_type.
(read_type_die): Ditto.
(dwarf_tag_name): Ditto.

* elf/dwarf2.h: Add DW_TAG_rvalue_reference_type.

Obtained from: Apple, gdb-1820


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.


250227 04-May-2013 jkim

Improve compatibility with recent flex from flex.sourceforge.net.


249603 18-Apr-2013 andrew

Fix the value of NT_FREEBSD_TAG to be the same as ABI_NOTRTYPE in lib/csu.
Add NT_FREEBSD_NOINIT_TAG for the value of CRT_NOINIT_NOTETYPE.
Check for both of these when detecting a FreeBSD binary in gdb.


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


248466 18-Mar-2013 andrew

do_vfp_vmrs and do_vfp_vmsr should not return anything.


248460 18-Mar-2013 andrew

Add support for the vmsr and vmrs instructions. This supports the system
level version of the instructions. When used in userland the hardware only
allows us to read/write FPSCR.


248459 18-Mar-2013 andrew

Some ARM vmov similar to 'vmov.f32 s1, s2' will incorrectly have the second
register added to the symbol table by the assembler. On further
investigation it was found the problem was with the my_get_expression
function. This is called by parse_big_immediate.

Fix this by moving the call to parse_big_immediate to the end of the if,
else if, ..., else block.


247386 27-Feb-2013 andrew

Clear the memory allocated to build the unwind tables. This fixes C++
exceptions on ARM EABI with static binaries.


247117 21-Feb-2013 jmg

reorder so all the flags are together and make the PCLMUL flag unique..

This fixes the problem on amd64 miscompiling mpboot.s causing boot
issues... We are still using gas for a few files in the kernel...

Submitted by: kib
MFC after: 1 month


247012 19-Feb-2013 jmg

add support for AES and PCLMULQDQ instructions to binutils...

Thanks to Mike Belopuhov for the pointer to the OpenBSD patch, though
OpenBSD's gcc is very different that it only helped w/ where to modify,
not how... Thanks to jhb for some early reviews...

Reviewed by: imp, kib
MFC after: 1 month


246312 04-Feb-2013 andrew

Extend GDB to check the value in the .note.tag section along with the
.note.ABI-tag section.

This helps on ARM EABI where the OS/ABI field is zero. It would be better
to use the NOTES program header however this would require a more invasive
change.


245952 26-Jan-2013 pfg

Clean some 'svn:executable' properties in the tree.

Submitted by: Christoph Mallon
MFC after: 3 days


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


244274 15-Dec-2012 andrew

Recognise vfpv2 as a value for the ARM .fpu asm directive. Clang generates
these even when building soft floating-point code

Submitted by: Daisuke Aoyama <aoyama AT peach.ne.jp>


243933 06-Dec-2012 eadler

Clean up hardcoded ar(1) flags in the tree to use the global ARFLAGS in
share/mk/sys.mk instead.

This is part of a medium term project to permit deterministic builds of
FreeBSD.

Submitted by: Erik Cederstrand <erik@cederstrand.dk>
Reviewed by: imp, toolchain@
Approved by: cperciva
MFC after: 2 weeks


239962 31-Aug-2012 dim

Fix a twelve year old bug in readelf: when process_dynamic_segment()
encounters a DT_RUNPATH entry, the global dynamic_info[] array is
overrun, causing some other global variable to be overwritten.

In my testcase, this was the section_headers variable, leading to
segfaults or jemalloc assertions when it was freed later on.

Thanks to Koop Mast for providing samples of a few "bad" .so files.

MFC after: 1 week


239870 29-Aug-2012 dim

Teach gdb about the DW_FORM_flag_present dwarf attribute, so it doesn't
error out on files that contain it. (This attribute can be emitted by
newer versions of clang.)

MFC after: 2 weeks


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>


238167 06-Jul-2012 jhb

Add support for the 'invept' and 'invvpid' instructions. Beyond simply
adding appropriate table entries, the assembler had to be adjusted as
these are the first non-SSE instructions to use a 3-byte opcode (and a
mandatory prefix to boot).

MFC after: 1 month


238123 04-Jul-2012 jhb

Add support for the 'xsave', 'xrstor', 'xsaveopt', 'xgetbv', and 'xsetbv'
instructions. I reimplemented this from scratch based on the Intel
manuals and the existing support for handling the fxsave and fxrstor
instructions. This will let us use these instructions natively with GCC
rather than hardcoding the opcodes in hex.

Reviewed by: kib
MFC after: 1 month


235133 07-May-2012 dim

Revert r234656, and apply a proper fix for binutils PR 10474, which
caused linking clang on 32-bit PowerPC to fail with "relocation
truncated to fit: R_PPC_REL24" errors.

Original diffs (relicensed under GPLv2 with permission from author):
http://sourceware.org/git/?p=binutils.git;a=commit;h=1fd262ff7d7ea5adf4894c6b960e092e7e43e3cd
http://sourceware.org/git/?p=binutils.git;a=commit;h=053c49fbff58bd33bd0d12200ea61302f92caceb

Tested by: andreast
MFC after: 1 week


227739 19-Nov-2011 andreast

Rename the linker emulation name for powerpc and powerc64. This is needed that
we can also use the upstream binutils linker where we have to have a unique
name for the FreeBSD emulation.


223758 04-Jul-2011 attilio

With retirement of cpumask_t and usage of cpuset_t for representing a
mask of CPUs, pc_other_cpus and pc_cpumask become highly inefficient.

Remove them and replace their usage with custom pc_cpuid magic (as,
atm, pc_cpumask can be easilly represented by (1 << pc_cpuid) and
pc_other_cpus by (all_cpus & ~(1 << pc_cpuid))).

This change is not targeted for MFC because of struct pcpu members
removal and dependency by cpumask_t retirement.

MD review by: marcel, marius, alc
Tested by: pluknet
MD testing by: marcel, marius, gonzo, andreast


223484 23-Jun-2011 dim

Make GNU as recognize the ARM 'rrx' mnemonic, which can be generated by
clang for certain expressions. Code taken from Apple cctools (GPLv2).

Submitted by: damjan.marion@gmail.com


223262 18-Jun-2011 benl

Fix clang warnings.

Approved by: philip (mentor)


222813 07-Jun-2011 attilio

etire the cpumask_t type and replace it with cpuset_t usage.

This is intended to fix the bug where cpu mask objects are
capped to 32. MAXCPU, then, can now arbitrarely bumped to whatever
value. Anyway, as long as several structures in the kernel are
statically allocated and sized as MAXCPU, it is suggested to keep it
as low as possible for the time being.

Technical notes on this commit itself:
- More functions to handle with cpuset_t objects are introduced.
The most notable are cpusetobj_ffs() (which calculates a ffs(3)
for a cpuset_t object), cpusetobj_strprint() (which prepares a string
representing a cpuset_t object) and cpusetobj_strscan() (which
creates a valid cpuset_t starting from a string representation).
- pc_cpumask and pc_other_cpus are target to be removed soon.
With the moving from cpumask_t to cpuset_t they are now inefficient
and not really useful. Anyway, for the time being, please note that
access to pcpu datas is protected by sched_pin() in order to avoid
migrating the CPU while reading more than one (possible) word
- Please note that size of cpuset_t objects may differ between kernel
and userland. While this is not directly related to the patch itself,
it is good to understand that concept and possibly use the patch
as a reference on how to deal with cpuset_t objects in userland, when
accessing kernland members.
- KTR_CPUMASK is changed and now is represented through a string, to be
set as the example reported in NOTES.

Please additively note that no MAXCPU is bumped in this patch, but
private testing has been done until to MAXCPU=128 on a real 8x8x2(htt)
machine (amd64).

Please note that the FreeBSD version is not yet bumped because of
the upcoming pcpu changes. However, note that this patch is not
targeted for MFC.

People to thank for the time spent on this patch:
- sbruno, pluknet and Nicholas Esborn (nick AT desert DOT net) tested
several revision of the patches and really helped in improving
stability of this work.
- marius fixed several bugs in the sparc64 implementation and reviewed
patches related to ktr.
- jeff and jhb discussed the basic approach followed.
- kib and marcel made targeted review on some specific part of the
patch.
- marius, art, nwhitehorn and andreast reviewed MD specific part of
the patch.
- marius, andreast, gonzo, nwhitehorn and jceel tested MD specific
implementations of the patch.
- Other people have made contributions on other patches that have been
already committed and have been listed separately.

Companies that should be mentioned for having participated at several
degrees:
- Yahoo! for having offered the machines used for testing on big
count of CPUs.
- The FreeBSD Foundation for having sponsored my devsummit attendance,
which has been instrumental.
- Sandvine for having offered offices and infrastructure during
development.

(I really hope I didn't forget anyone, if it happened I apologize in
advance).


222558 01-Jun-2011 jchandra

Add .interp back into INITIAL_READONLY_SECTIONS in MIPS n64 ABI.

The binutils update in r218822 caused the MIPS n64 dynamic binaries to
fail because the ".interp" section is not in the initial sections.
This happens because elf64bmip-defs.sh overrides INITIAL_READONLY_SECTIONS
to add ".MIPS.options" sections instead of the ".reginfo" section used
by n32.
This used to work fine, but after r218822, INITIAL_READONLY_SECTIONS also
contains the .interp section, so the override has to be done differently.

Reported by : aduane at juniper

Obtained from: gonzo (Initial version)


222206 22-May-2011 benl

Fix clang warnings.

Approved by: philip (mentor)


222205 22-May-2011 benl

Fix clang warnings.

Approved by: philip (mentor)


222204 22-May-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


217395 14-Jan-2011 kib

On PowerPC64, linker emits a fake object into each linked object,
'linker stubs'. Add .note.GNU-stack for the stubs objects. Without this,
final binary will have RWE mode for PT_GNU_STACK regardless of the
actual requirements.

Tested by: nwhitehorn
Reviewed by: dim, nwhitehorn


217394 14-Jan-2011 kib

Add a workaround for the warnings and sometimes errors due to missed
forward-declaration.

Reviewed by: dim


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


213989 17-Oct-2010 dim

Bootstrap merge history for binutils.


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.


210245 19-Jul-2010 avg

binutils/ld: fix incorrect placement of __start_SECNAME in some cases

__start_SECNAME and __stop_SECNAME symbols are automatically generated
by ld for orphan sections, i.e. those not explicitely referenced by a
linker script. The symbols are supposed to be placed correspondingly
at the start and the end of the section in output file. In some cases
__start_SECNAME may be placed at the address after the end of the
previous section (if any) and before the start the section. This
happens when following conditions are met:
1. the orphan section is found in more than one input file
2. the orphan section has different alignment requirements across input
files
3. the first instance of the section encountered doesn't have the
greatest alignment requirement
In these conditions resulting output section will be placed at address
after the end of the previous section aligned to the greatest alignment
requirement in the inputs, but __start_SECNAME will be placed at address
after the end of the previous section aligned to the alignment
requirement of the first input in which the section is encountered.

See commit message of r196118 for a concrete example of problems caused
by this bug.

The fix is to place __start_SECNAME inside the section and use ABSOLUTE
directive, rather than placing __start_SECNAME outside the section and
trying to guess address alignment.

This fix is in line with upstream binutils change/fix made between
versions 2.19 and 2.20 in revision of 1.307 ldlang.c.

MFC after: 3 weeks


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


209413 22-Jun-2010 avg

readelf.1: remove duplicate -u/--unwind option description

MFC after: 2 weeks


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.


175791 29-Jan-2008 obrien

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


173874 23-Nov-2007 jb

Fix strict alias warnings.


168434 06-Apr-2007 kan

This commit was generated by cvs2svn to compensate for changes in r168433,
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.


147825 07-Jul-2005 obrien

This commit was generated by cvs2svn to compensate for changes in r147824,
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.


130567 16-Jun-2004 obrien

Blah, these came back. Use a bigger hammer.


130566 16-Jun-2004 obrien

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


130565 16-Jun-2004 obrien

Merge rev 1.2 (teach `ld' how to access FreeBSD's ld ELF hints) into
Binutils 2.15.


130564 16-Jun-2004 obrien

Merge rev 1.2 (FreeBSD a.out configuration support) 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.


127106 17-Mar-2004 obrien

This commit was generated by cvs2svn to compensate for changes in r127105,
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)


111757 02-Mar-2003 obrien

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


107500 02-Dec-2002 obrien

Update HEAD with the stock files.


107499 02-Dec-2002 obrien

Merge rev 1.2 (teach `ld' how to access FreeBSD's ld ELF hints)
into the Binutils 2.13.2 20021128 snap.


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.


104859 11-Oct-2002 obrien

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


104849 11-Oct-2002 obrien

Use the stock version of this.


104848 11-Oct-2002 obrien

Bring the binutils_2_13_20021110 snap version of this to the HEAD branch.


104847 11-Oct-2002 obrien

Merge rev 1.2 (teach `ld' how to access FreeBSD's ld ELF hints)
into Binutils 2.13.1 snap.


104846 11-Oct-2002 obrien

Bring the binutils_2_13_20021110_snap version of this to the HEAD branch.


104845 11-Oct-2002 obrien

Bring the 2.13 snap version of this to the HEAD branch.


104844 11-Oct-2002 obrien

Use the stock 2.13.1 snapshot version of this.


104843 11-Oct-2002 obrien

Merge rev 1.2 (FreeBSD a.out configuration support) into the
Binutils 2.13_20021110 snap.


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))


104837 11-Oct-2002 obrien

Use the vendor's 2.13.1_snap vendor version of this file as in rev 1.5.


104836 11-Oct-2002 obrien

We use the stock version of this file as in rev 1.4.


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.


102776 01-Sep-2002 obrien

Remove these Bintuils 2.11 files that aren't part of 2.12.


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.


99471 05-Jul-2002 obrien

Merge rev 1.2 (FreeBSD a.out configuration support) into the
Binutils 2.12_20020622 snap.


99470 05-Jul-2002 obrien

Use the stock 2.12.1 snapshot version of this.


99469 05-Jul-2002 obrien

Use the stock version of this.


99468 05-Jul-2002 obrien

Bring the binutils_2_12_20020622 snap version of this to the HEAD branch.


99467 05-Jul-2002 obrien

We use the stock version of this file as in rev 1.4.


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.


94548 12-Apr-2002 obrien

Use the stock 2.12 snapshot version of this.


94547 12-Apr-2002 obrien

Merge rev 1.2 (FreeBSD a.out configuration support) into the
Binutils 2.12_20020410 snap.


94546 12-Apr-2002 obrien

Bring the binutils_2_12_20020410 snap version of this to the HEAD branch.


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.


92841 20-Mar-2002 obrien

Manpages moved into doc/ for 2.12.


92835 20-Mar-2002 obrien

Merge rev 1.2 (teach `ld' how to access FreeBSD's ld ELF hints)
into Binutils 2.12.0.


92834 20-Mar-2002 obrien

Use the stock version of this.


92833 20-Mar-2002 obrien

Bring the 2.12.0 release version of this to the HEAD branch.


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.


92216 13-Mar-2002 obrien

Add note about genscripts.sh.


92203 13-Mar-2002 obrien

Remove bogon from bad merge.


91056 22-Feb-2002 obrien

Explain how I did the binutils_2_12_anoncvs_20020221 import.


91055 22-Feb-2002 obrien

Merge rev 1.2 (teach `ld' how to access FreeBSD's ld ELF hints)
into Binutils 2.12_20020221_snap.


91054 22-Feb-2002 obrien

Bring the binutils_2_12_20020221_snap version of this to the HEAD branch.


91053 22-Feb-2002 obrien

Merge rev 1.2 (FreeBSD a.out configuration support) into
Binutils 2.12_20020221_snap.


91052 22-Feb-2002 obrien

Use the stock (2.12_20020221_snap) version of this.


91051 22-Feb-2002 obrien

Use the stock version of this.


91050 22-Feb-2002 obrien

Use the vendor's 2.12_20020221_snap version of this file as in rev 1.4.


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.


90950 20-Feb-2002 obrien

Reflect the rename of the vendor branch.


89914 28-Jan-2002 obrien

The list of not-wanted and needed files for the binutils_anoncvs_20020127
import.


89913 28-Jan-2002 obrien

Explain how I did the binutils_anoncvs_20020127 import.


89872 27-Jan-2002 obrien

Merge rev 1.2 (teach `ld' how to access FreeBSD's ld ELF hints)
into Binutils 2.12.0_snap.


89871 27-Jan-2002 obrien

Bring the binutils_2_12_cvs_20020127 version of this to the HEAD branch.


89870 27-Jan-2002 obrien

Use the stock 2.12.0_snap version of this.


89869 27-Jan-2002 obrien

Merge rev 1.2 (FreeBSD a.out configuration support) into Binutils 2.12.0_snap.


89868 27-Jan-2002 obrien

Bring the binutils_2_12_cvs_20020127 version of this to the HEAD branch.


89867 27-Jan-2002 obrien

Bring the binutils_2_12_cvs_20020125 version of this to the HEAD branch.


89866 27-Jan-2002 obrien

Use the stock 2.12.0_snap version of this now.


89865 27-Jan-2002 obrien

Use the vendor's 2.12.0_snap vendor version of this file as in rev 1.5.


89864 27-Jan-2002 obrien

Use the vendor's 2.12.0_snap version of this file as in rev 1.4.


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.


85825 01-Nov-2001 obrien

Update to the latest vendor's file.


85824 01-Nov-2001 obrien

Bring the binutils_2_11_cvs_20011031 version of this to the HEAD branch.


85823 01-Nov-2001 obrien

This merges in the changes from the FSF 19-July-2001 snapshot to the
2001 Halloween snapshot.


85822 01-Nov-2001 obrien

This merges in the changes from the FSF anoncvs 19-July-2001 snapshot to
the 2001 Halloween snapshot.


85821 01-Nov-2001 obrien

Update to the latest vendor's file.


85820 01-Nov-2001 obrien

Update to the latest vendor file.


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.


80509 28-Jul-2001 obrien

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


80018 20-Jul-2001 obrien

This merges in the changes from the 2.11.2 release to the FSF anoncvs
19-July-2001 snapshot.


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.


80015 20-Jul-2001 obrien

Update for the Bintuils 2.11.2 import.


78845 26-Jun-2001 obrien

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


78841 26-Jun-2001 obrien

Merge rev 1.2 (teach `ld' how to access FreeBSD's ld ELF hints)
into Binutils 2.11.2.


78840 26-Jun-2001 obrien

We use the stock (2.11.2) version of this now.


78839 26-Jun-2001 obrien

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


78838 26-Jun-2001 obrien

We use the stock (2.11.2) version of this file now.


78837 26-Jun-2001 obrien

Use the stock (2.11.2) version of this now.


78836 26-Jun-2001 obrien

Use the vendor's 2.11.2 version of this file as in rev 1.4.


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.


77357 28-May-2001 obrien

Update for the Bintuils 2.11.0 import.


77319 28-May-2001 obrien

Merge rev 1.2 into Binutils 2.11[.0].
Teach `ld' how to access FreeBSD's ld ELF hints.


77318 28-May-2001 obrien

We use the stock version of this file now.
I committed our rev 1.2 (start symbol) and 1.3 (max pagesize) fixes into
the FSF/GNU source tree.


77317 28-May-2001 obrien

We use the stock version of this file.


77316 28-May-2001 obrien

We use the stock version of this file now.
I committed all the new FreeBSD platform support (PPC, StrongARM, Sparc64)
into the FSF/GNU tree.


77315 28-May-2001 obrien

Merge rev 1.2 (FreeBSD configuration support) into Binutils 2.11[.0].


77313 28-May-2001 obrien

Use the stock version of this file now.
I committed our rev 1.2 fix into the FSF/GNU tree.


77312 28-May-2001 obrien

We use the stock version of this file now.
I folded our rev 1.2 localizations into the FSF/GNU tree.


77311 28-May-2001 obrien

Return to the vendor's version of this file.


77310 28-May-2001 obrien

Add a minor tweak for us that I failed to get committed to the stock 2.11.


77309 28-May-2001 obrien

Return to the vendor's version of this file.

(have I mentioned how fscking stupid CVS can be??)


77308 28-May-2001 obrien

Return to the vendor's version of this file.

(CVS -j -j filled this with conflicts -- CVS it just too fscking dumb
to realize this is the 3rd time we've just committed the vendor
version + FreeBSD ID)


77307 28-May-2001 obrien

Return to the vendor's version of this file as in rev 1.4.
(CVS is too stupid to realize we've done this 3 times now...)


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.


76232 03-May-2001 obrien

* include/elf.h has been repo copied to include/elf-hints.h, and it no
longer includes machine/elf.h.
* consumers of elf.h now use the minimalist elf header possible.

This change is motivated by Binutils 2.11.0 and too much clashing over
our base elf headers and the Binutils elf headers.


75400 11-Apr-2001 obrien

Remove MIPS support.
It has rotted quite badly and no one has provided updates for it.


75399 10-Apr-2001 obrien

Removed these old 2.9.x files.


69181 26-Nov-2000 obrien

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


69160 25-Nov-2000 obrien

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


69158 25-Nov-2000 obrien

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


69157 25-Nov-2000 obrien

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


69132 25-Nov-2000 obrien

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


69131 25-Nov-2000 obrien

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


69091 23-Nov-2000 obrien

Update for the Bintuils 2.10.1 import.


68779 15-Nov-2000 obrien

dyn-string.* moved to libiberty/ and include/.


68778 15-Nov-2000 obrien

Merge rev 1.2 into Binutils 2.10.1.

Teach `ld' about FreeBSD (ie, fix the All the World's Linux) and how to
access our ld ELF hints.


68777 15-Nov-2000 obrien

Merge conflicts. Adds revs 1.2 and 1.3 (FreeBSD configuration support),
and preliminary sparc, strongarm, PPC FreeBSD support to Binutils 2.10.1.


68776 15-Nov-2000 obrien

Merge rev 1.2 (FreeBSD configuration support) into Binutils 2.10.1.


68775 15-Nov-2000 obrien

Merge conflicts into Binutils 2.10.1.
This fixes the i386 config bits, merge in the Alpha bits, and adds
arm32 & sparc bits.


68774 15-Nov-2000 obrien

We use the stock version of this file now.


68773 15-Nov-2000 obrien

Return to the vendor's version of this file as in rev 1.4.


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.


68674 13-Nov-2000 obrien

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


68672 13-Nov-2000 obrien

remove files not needed.


68671 13-Nov-2000 obrien

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


62687 06-Jul-2000 obrien

Upgrade to Binutils 2.10.0.


61851 20-Jun-2000 obrien

Merge conflicts. Adds revs 1.2 and 1.3 (FreeBSD configuration support),
and preliminary sparc, strongarm, PPC FreeBSD support.


61850 20-Jun-2000 obrien

Merge conflicts. This fixes the i386 config bits, merge in the Alpha bits,
and adds arm32 & sparc bits.


61849 20-Jun-2000 obrien

Merge conflicts. This fixes the i386 config bits, merge in the Alpha bits,
and adds arm32 & sparc bits.


61848 20-Jun-2000 obrien

Binutils now properly supports our ELFness with this file.
(use the stock file now that it is offically part of Binutils)


61847 20-Jun-2000 obrien

Use the stock file now. The Binutils maintainers accepted our rev 1.2
changes (don't use "/" to start a comment).


61846 20-Jun-2000 obrien

Merge in our rev 1.2 changes (but do it in a way the Binutils maintainers
accepted): Restore traditional behavior by acknowledging tabs in strings.


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.


61841 20-Jun-2000 obrien

None of these files are used in our build, nor do I really believe
anyone is going to read them. Many were new with the
"sourceware_binutils-2_10-branch_anoncvs_20000512" import. Others have
been around since 2.8.1.


61840 20-Jun-2000 obrien

Remove these Binutils 2.8.1 files.


61808 18-Jun-2000 obrien

Upgrade instructions for the sourceware_binutils-2_10-branch_anoncvs_20000512
Binutils import.


61807 18-Jun-2000 obrien

List of files to delete from the Sourceware Binutils' CVS 2_10-branch
on 12-May-2000.


61806 18-Jun-2000 obrien

List of distfile contents to delete using `rm' and `find -delete'.
Simular to the FREEBSD-Xlist used with `tar -X ... -xf'.
This file is typically used when one starts with the Binutils anoncvs repo
rather than a release tarball.


60530 13-May-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r60529,
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)


60525 13-May-2000 obrien

Merge in rev 1.2 (ld was kinly looking up the Linux /etc/ld.so.conf so teach
it about the FreeBSD equivalent) This version of that patch selects the
Linux code only if the case is Linux. This puts the Linux code on par with
the FreeBSD code.


60524 13-May-2000 obrien

Tweaks for i386, add alpha, ppc, sparc, and strongarm support.


60523 13-May-2000 obrien

Use the stock vendor version of this file now.


60522 13-May-2000 obrien

Merge in revs 1.2 and 1.3 (FreeBSD configuration support)
Add preliminary sparc, strongarm, PPC FreeBSD support.


60521 13-May-2000 obrien

Merge in rev 1.2 (FreeBSD configuration support)


60520 13-May-2000 obrien

Merge in rev 1.2 (balance the brackets; PR-docs/8505)


60519 13-May-2000 obrien

Merge in rev 1.2 (don't use "/" to start a comment).


60518 13-May-2000 obrien

Merge in rev 1.2 which provides some FreeBSD a.out support.


60517 13-May-2000 obrien

Fix the i386 config bits, merge in the Alpha bits, and add arm32 and
sparc bits.


60516 13-May-2000 obrien

Fix the i386 config bits, merge in the Alpha bits, and add arm32 and
sparc bits.


60515 13-May-2000 obrien

Return to the vendor's version of this file.


60514 13-May-2000 obrien

Return to the vendor's version of this file as in rev 1.4.


60513 13-May-2000 obrien

Merge in our rev 1.2 changes: Restore traditional behavior by acknowledging
tabs in strings.


60512 13-May-2000 obrien

Return this file to the vendor's file.


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.


59431 20-Apr-2000 obrien

Revert this file back to its FSF/Cygnus virgin state.
With jb's rev 1.2 commit to usr.bin/lorder/lorder.sh we don't depend on
the 4.4BSD's ``nm -o'' behavior.

Previous to 4.3BSD-Reno, ``nm -o'' did not output the .o's filename on a
line by itself. The change occurred between CSRG's nm.c rev 4.8 (1987) and
rev 5.1 (in 1989), which was "new version from Hans Huebner hans@garp.mit.edu,
huebner@db0tui6.BITNET". The Binutils maintainers would rather cater to
a loud boisterous user of 4.3BSD VAXen which has its own native toolchain,
rather than a modern Unix with multiple orders of magnitude more users
and in which Binutils *is* the native toolchain.


59397 19-Apr-2000 obrien

This commit was generated by cvs2svn to compensate for changes in r59396,
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.


59344 18-Apr-2000 obrien

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


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.


57823 08-Mar-2000 cracauer

Turn a warning into an error. Occurances of that warning generate bad
-fpic code that damages symbol locations at runtime.

The only know occurance in our tree (src and ports) was locatime.c,
which was just changed to generate code that doesn't trigger the
problem.

This is a workaround, the real cause is that our gas doesn't
understand code our gcc generates for some -O -fpic code. They are
expected to be back in sync soon, but until then (including
4.0-RELEASE) we need to prevent people from using bad -fpic code.

PR: avoids such things as in bin/16862
Submitted by: bde
Approved by: jkh


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


56945 02-Feb-2000 obrien

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


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


46293 02-May-1999 dfr

The maximum pagesize for alpha is 64k, not 1Mb.


45684 14-Apr-1999 nik

Fix typos.

PR: docs/8682
Submitted by: hnokubi@yyy.or.jp
Reviewed by: nik


45468 08-Apr-1999 simokawa

Change default entry point from `__start' to `_start' which is in crt1.o.
Cc doesn't need to pass `-e _start' to ld anymore.

Agreed by: gallatin and dfr


44350 28-Feb-1999 imp

Remove *mip* and *decstation* from the filter, per FREEBSD-updating.

This, and the previous import were approved by jdp.


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.


44347 28-Feb-1999 imp

We've been using 2.9.1 tools for some time now, so reflect that in the
example of how to add things to the FreeBSD tree.

Approved by: jdp


42372 07-Jan-1999 peter

ld was kinly looking up the Linux /etc/ld.so.conf (which we don't have).
Teach it about the FreeBSD equivalent, because there are some funny things
going on with -rpath that I can't quite get a handle on. It looks like
setting an rpath on a new shared object overrides all the implicit
DT_RPATH's from the dependencies, causing them to fail at link time
(but not runtime).


41786 14-Dec-1998 mckay

Restore traditional behaviour by allowing tabs in strings. In deference
to the new age of internationalisation, I used isblank() instead of a
literal '\t'.


41642 10-Dec-1998 steve

Another directive nit.

PR: 8144
Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp>


41641 10-Dec-1998 steve

Remove @code directive around --change-leading-char.

PR: 8143
Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp>


41626 10-Dec-1998 steve

Typo fix.

PR: 8034
Submitted by: NOKUBI Hirotaka <hnokubi@yyy.or.jp>


41605 08-Dec-1998 billf

Balance the brackets.

PR: docs/8505
Submitted by: Kazuo Horikawa <horikawa@jp.FreeBSD.org>


41485 03-Dec-1998 billf

The explanation shows "-V" as being 'verbose' correct this to "-v"

PR: docs/8892
Submitted by: Hirayama Issei <iss@mail.wbs.ne.jp>


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.


34352 09-Mar-1998 jb

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


34350 09-Mar-1998 jb

Add a FreeBSD entry for alpha-elf.


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.


33972 01-Mar-1998 jdp

Don't use "/" as a comment starter. In some FreeBSD sources, "/"
means divide (duh).


33971 01-Mar-1998 jdp

Fix the output format of "nm" so that it works properly for FreeBSD's
"lorder" command.

GNU rejected this change because they felt it would be an unacceptable
incompatibility to change the output format at this point -- even
though it was wrong to begin with.


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.


33968 01-Mar-1998 jdp

Add upgrade instructions and helper file.


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.