freebsd-dev/contrib/binutils
Marius Strobl b5eb05bb72 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
2011-03-11 20:00:38 +00:00
..
bfd In the upstream rev. 1.61 of elf64-sparc.c the following bug was fixed: 2011-03-11 20:00:38 +00:00
binutils Sync: merge r215464 through r215708 from ^/head. 2010-11-22 20:52:18 +00:00
config Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
etc Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
gas For ia64, add a proper 'elf64-ia64-freebsd' output format to BFD, so the 2010-12-05 20:24:22 +00:00
gprof Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
include Sync: merge r215464 through r215708 from ^/head. 2010-11-22 20:52:18 +00:00
ld Merge binutils 2.17.50 to head. This brings a number of improvements to 2011-02-18 20:54:12 +00:00
libiberty Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
opcodes Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
ChangeLog Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
config-ml.in Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
config.guess Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
config.rpath Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
config.sub Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
configure Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
configure.ac Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
FREEBSD-deletelist
FREEBSD-upgrade
FREEBSD-Xlist
install-sh Merge ^vendor/binutils/dist@214082 into contrib/binutils. 2010-10-21 19:11:14 +00:00
libtool.m4 Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
ltgcc.m4 Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
ltmain.sh Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
ltoptions.m4 Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
ltsugar.m4 Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
ltversion.m4 Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
MAINTAINERS Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
Makefile.def Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
Makefile.in Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
Makefile.tpl Merge ^/vendor/binutils/dist@214571 into contrib/binutils, which brings 2010-11-01 19:35:33 +00:00
missing Merge ^vendor/binutils/dist@214082 into contrib/binutils. 2010-10-21 19:11:14 +00:00
mkinstalldirs Merge ^vendor/binutils/dist@214082 into contrib/binutils. 2010-10-21 19:11:14 +00:00
move-if-change Merge ^vendor/binutils/dist@214082 into contrib/binutils. 2010-10-21 19:11:14 +00:00
README Rename vendor/binutils/*/contrib to vendor/binutils/*/x 2009-01-19 17:25:17 +00:00
README-maintainer-mode Rename vendor/binutils/*/contrib to vendor/binutils/*/x 2009-01-19 17:25:17 +00:00
symlink-tree Merge ^vendor/binutils/dist@214082 into contrib/binutils. 2010-10-21 19:11:14 +00:00
ylwrap Merge ^vendor/binutils/dist@214082 into contrib/binutils. 2010-10-21 19:11:14 +00:00

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.