Binutils with MCST patches
Go to file
Cary Coutant c2b45e22d5 2008-04-11 Cary Coutant <ccoutant@google.com>
Add support for TLS descriptors for i386 and x86_64.
	* i386.cc (Target_i386::Relocate::tls_desc_gd_to_ie): New function.
	(Target_i386::Relocate::tls_desc_gd_to_le): New function.
	(Target_i386::Got_type): Add GOT_TYPE_TLS_NOFFSET and
	GOT_TYPE_TLS_DESC.
	(Target_i386::got_mod_index_entry): Remove unnecessary code.
	(Target_i386::Scan::local): Implement R_386_TLS_GOTDESC and
	R_386_TLS_DESC_CALL relocations.  Fix problem with initial-exec
	relocations.
	(Target_i386::Scan::global): Fix problem with GD-to-IE relaxation.
	Implement R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL relocations;
	Fix problem with initial-exec relocations.
	(Target_i386::Relocate::relocate_tls): Likewise.
	(Target_i386::Relocate::tls_gd_to_ie): Fix problem with GD-to-IE
	relaxation.
	* output.cc (Output_data_dynamic::Dynamic_entry::write): Add
	support for section-plus-offset dynamic table entries.
	* output.h (Output_data_dynamic::add_section_plus_offset): New function.
	(Output_data_dynamic::Dynamic_entry): Add support for
	section-plus-offset dynamic table entries.
	(Output_data_dynamic::Classification): Likewise.
	(Output_data_dynamic::classification_): Renamed offset_.
	* x86_64.cc (Target_x86_64::Relocate::tls_desc_gd_to_ie): New function.
	(Target_x86_64::Relocate::tls_desc_gd_to_le): New function.
	(Target_x86_64::make_plt_section): New function.
	(Target_x86_64::reserve_tlsdesc_entries): New function.
	(Output_data_plt_x86_64::Output_data_plt_x86_64): Add new parameter.
	(Output_data_plt_x86_64::reserve_tlsdesc_entry): New function.
	(Output_data_plt_x86_64::has_tlsdesc_entry): New function.
	(Output_data_plt_x86_64::get_tlsdesc_got_offset): New function.
	(Output_data_plt_x86_64::get_tlsdesc_plt_offset): New function.
	(Output_data_plt_x86_64::tlsdesc_plt_entry): New field.
	(Output_data_plt_x86_64::set_final_data_size): Move out of line;
	add extra PLT entry for TLS descriptors.
	(Output_data_plt_x86_64::got_): New field.
	(Output_data_plt_x86_64::tlsdesc_got_offset_): New field.
	(Output_data_plt_x86_64::Output_data_plt_x86_64): Initialize new
	fields.
	(Output_data_plt_x86_64::do_write): Write extra PLT entry for TLS
	descriptors.
	(Target_x86_64::make_plt_entry): Factor out make_plt_section.
	(Target_x86_64::got_mod_index_entry): Remove unnecessary code.
	(Target_x86_64::Scan::local): Implement R_386_TLS_GOTDESC and
	R_386_TLS_DESC_CALL relocations.
	(Target_x86_64::Scan::global): Likewise.
	(Target_x86_64::do_finalize_sections): Add dynamic table entries
	for TLS descriptors.
	(Relocate::relocate_tls): Fix problem with GD-to-IE relaxation.
	Implement R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL relocations.
	(Target_x86_64::Relocate::tls_gd_to_ie): Fix problem with
	GD-to-IE relaxation.
	* configure.ac: Export new conditional variables TLS_GNU2_DIALECT
	and TLS_DESCRIPTORS.
	* Makefile.in: Rebuild.
	* configure: Rebuild.
	* testsuite/Makefile.am (tls_shared_gd_to_ie_test): New target.
	(tls_test_shared2.so): New target.
	(tls_shared_gd_to_ie_test_SOURCES): New variable.
	(tls_shared_gd_to_ie_test_DEPENDENCIES): New variable.
	(tls_shared_gd_to_ie_test_LDFLAGS): New variable.
	(tls_shared_gd_to_ie_test_LDADD): New variable.
	(tls_shared_gnu2_gd_to_ie_test): New target.
	(tls_test_gnu2.o, tls_test_file2_gnu2.o, tls_test_gnu2_shared2.so):
	New targets.
	(tls_shared_gnu2_gd_to_ie_test_SOURCES): New variable.
	(ls_shared_gnu2_gd_to_ie_test_DEPENDENCIES): New variable.
	(tls_shared_gnu2_gd_to_ie_test_LDFLAGS): New variable.
	(tls_shared_gnu2_gd_to_ie_test_LDADD): New variable.
	(tls_shared_gnu2_test): New target.
	(tls_test_gnu2_shared.so): New target.
	(tls_shared_gnu2_test_SOURCES): New variable.
	(tls_shared_gnu2_test_DEPENDENCIES): New variable.
	(tls_shared_gnu2_test_LDFLAGS): New variable.
	(tls_shared_gnu2_test_LDADD): New variable.
	* testsuite/Makefile.in: Rebuild.
	* testsuite/Makefile.
2008-04-11 21:24:30 +00:00
bfd daily update 2008-04-11 00:00:05 +00:00
binutils * dwarf.c (display_debug_lines): Rename to 2008-04-11 09:04:17 +00:00
config PR binutils/4334 2008-04-04 11:45:58 +00:00
cpu * mt.opc (parse_imm16): Apply 2007-09-26 opcodes/mt-asm.c change 2008-01-29 03:50:23 +00:00
elfcpp * sparc.h: New file 2008-04-11 19:13:08 +00:00
etc
gas 2008-04-11 H.J. Lu <hongjiu.lu@intel.com> 2008-04-11 17:51:15 +00:00
gdb *** empty log message *** 2008-04-11 00:00:03 +00:00
gold 2008-04-11 Cary Coutant <ccoutant@google.com> 2008-04-11 21:24:30 +00:00
gprof Updated French translations. 2008-03-31 10:19:38 +00:00
include 2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com> 2008-04-10 13:36:43 +00:00
intl * configure.ac: m4_include config/proginstall.m4. 2008-03-17 22:17:33 +00:00
ld * po/POTFILES.in: Regenerate. 2008-04-08 06:12:32 +00:00
libdecnumber merge from gcc 2008-01-25 19:05:44 +00:00
libiberty merge from gcc 2008-03-31 18:11:50 +00:00
opcodes 2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com> 2008-04-10 13:36:43 +00:00
readline PR gdb/544 2008-03-24 12:59:51 +00:00
sim allinsn.exp: Removed target_alias and global_ld_options. 2008-04-08 12:45:37 +00:00
texinfo
.cvsignore
ChangeLog * Makefile.def: check-gold depends upon all-binutils. 2008-04-07 21:58:34 +00:00
compile
config-ml.in 2007-11-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2007-11-29 15:36:39 +00:00
config.guess * config.sub, config.guess: Update from upstream sources. 2008-03-12 23:45:14 +00:00
config.rpath * config.rpath: Add AIX 6 support. 2008-03-13 19:27:44 +00:00
config.sub * config.sub, config.guess: Update from upstream sources. 2008-03-12 23:45:14 +00:00
configure correctly regenerate configure 2008-04-07 08:08:35 +00:00
configure.ac PR binutils/4334 2008-04-04 11:45:58 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.LIBGLOSS 2007-12-19 Jeff Johnston <jjohnstn@redhat.com> 2007-12-19 20:47:45 +00:00
COPYING.NEWLIB 2007-12-19 Jeff Johnston <jjohnstn@redhat.com> 2007-12-19 19:12:23 +00:00
depcomp
djunpack.bat
install-sh
libtool.m4 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2008-03-16 06:49:28 +00:00
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2008-03-16 06:49:28 +00:00
ltversion.m4
MAINTAINERS Add elfcpp, gold directories. 2008-03-24 20:19:41 +00:00
Makefile.def * Makefile.def: check-gold depends upon all-binutils. 2008-04-07 21:58:34 +00:00
Makefile.in * Makefile.def: check-gold depends upon all-binutils. 2008-04-07 21:58:34 +00:00
Makefile.tpl 2008-03-27 Paolo Bonzini <bonzini@gnu.org> 2008-03-27 14:16:55 +00:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
README
README-maintainer-mode
setup.com
src-release * src-release (GDB_SUPPORT_DIRS): Add libdecnumber. 2007-10-11 18:15:02 +00:00
symlink-tree
ylwrap

		   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.