binutils-gdb/bfd
H.J. Lu 6eaa7fb59b Support i386 TLS code sequences without PLT
We can generate i386 TLS code sequences for general and local dynamic
models without PLT, which uses indirect call via GOT:

call *___tls_get_addr@GOT(%reg)

where EBX register isn't required as GOT base, instead of direct call:

call ___tls_get_addr[@PLT]

which requires EBX register as GOT base.

Since direct call is 4-byte long and indirect call, is 5-byte long, the
extra one byte must be handled properly.

For general dynamic model, 7-byte lea instruction before call instruction
is replaced by 6-byte one to make room for indirect call.  For local
dynamic model, we simply use 5-byte indirect call.

TLS linker optimization is updated to recognize new instruction patterns.
For local dynamic model to local exec model transition, we generate
a 6-byte lea instruction as nop, instead of a 1-byte nop plus a 4-byte
lea instruction.  Since linker may convert

call ___tls_get_addr[@PLT]

to

addr32 call ____tls_get_addr

when producing static executable, both patterns are recognized.

bfd/

	* elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
	(elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
	(elf_i386_check_tls_transition): Check indirect call and direct
	call with the addr32 prefix for general and local dynamic models.
	Set the tls_get_addr feild.
	(elf_i386_convert_load_reloc): Always use addr32 prefix for
	indirect ___tls_get_addr call via GOT.
	(elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
	transitions with indirect call and direct call with the addr32
	prefix.

ld/

	* testsuite/ld-i386/i386.exp: Run libtlspic2.so, tlsbin2,
	tlsgd3, tlsld2, tlsgd4, tlspie3a, tlspie3b and tlspie3c.
	* testsuite/ld-i386/pass.out: New file.
	* testsuite/ld-i386/tls-def1.c: Likewise.
	* testsuite/ld-i386/tls-gd1.S: Likewise.
	* testsuite/ld-i386/tls-ld1.S: Likewise.
	* testsuite/ld-i386/tls-main1.c: Likewise.
	* testsuite/ld-i386/tls.exp: Likewise.
	* testsuite/ld-i386/tlsbin2-nacl.rd: Likewise.
	* testsuite/ld-i386/tlsbin2.dd: Likewise.
	* testsuite/ld-i386/tlsbin2.rd: Likewise.
	* testsuite/ld-i386/tlsbin2.sd: Likewise.
	* testsuite/ld-i386/tlsbin2.td: Likewise.
	* testsuite/ld-i386/tlsbinpic2.s: Likewise.
	* testsuite/ld-i386/tlsgd3.dd: Likewise.
	* testsuite/ld-i386/tlsgd3.s: Likewise.
	* testsuite/ld-i386/tlsgd4.d: Likewise.
	* testsuite/ld-i386/tlsgd4.s: Likewise.
	* testsuite/ld-i386/tlsld2.s: Likewise.
	* testsuite/ld-i386/tlspic2-nacl.rd: Likewise.
	* testsuite/ld-i386/tlspic2.dd: Likewise.
	* testsuite/ld-i386/tlspic2.rd: Likewise.
	* testsuite/ld-i386/tlspic2.sd: Likewise.
	* testsuite/ld-i386/tlspic2.td: Likewise.
	* testsuite/ld-i386/tlspic3.s: Likewise.
	* testsuite/ld-i386/tlspie3.s: Likewise.
	* testsuite/ld-i386/tlspie3a.d: Likewise.
	* testsuite/ld-i386/tlspie3b.d: Likewise.
	* testsuite/ld-i386/tlspie3c.d: Likewise.
2016-06-08 12:01:50 -07:00
..
doc Regenerate Makefile.in/aclocal.m4 automake 1.11.6 2016-04-15 16:20:55 -07:00
hosts Copyright update for binutils 2016-01-01 23:00:01 +10:30
po Add new Serbian translation for the bfd library. 2016-06-01 16:51:55 +01:00
.gitignore
acinclude.m4 Copyright update for binutils 2016-01-01 23:00:01 +10:30
aclocal.m4 Regenerate Makefile.in/aclocal.m4 automake 1.11.6 2016-04-15 16:20:55 -07:00
aix5ppc-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
aix386-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
aout0.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
aout32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
aout64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
aout-adobe.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
aout-arm.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
aout-cris.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
aout-ns32k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
aout-sparcle.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
aout-target.h Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
aout-tic30.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
aoutf1.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
aoutx.h Return void from linker callbacks 2016-05-28 11:17:20 +09:30
arc-plt.def Add PIC and TLS support to the ARC target. 2016-01-19 15:25:58 +00:00
arc-plt.h Add PIC and TLS support to the ARC target. 2016-01-19 15:25:58 +00:00
archive64.c Enable 64-bit archives in ar and ranlib 2016-05-25 09:47:03 -07:00
archive.c Enable 64-bit archives in ar and ranlib 2016-05-25 09:47:03 -07:00
archures.c arc: Add nps400 machine type, and assembler flag. 2016-03-21 16:44:49 +00:00
armnetbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfd-in2.h PowerPC VLE 2016-06-07 22:04:38 +09:30
bfd-in.h PowerPC VLE 2016-06-07 22:04:38 +09:30
bfd.c Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
bfd.m4 Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfdio.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
bfdwin.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
binary.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
bout.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
cache.c update many old style function definitions 2016-04-20 07:04:49 -04:00
cf-i386lynx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cf-sparclynx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
ChangeLog Support i386 TLS code sequences without PLT 2016-06-08 12:01:50 -07:00
ChangeLog-0001
ChangeLog-0203
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9193
ChangeLog-9495
ChangeLog-9697
ChangeLog-9899
cisco-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff64-rs6000.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-alpha.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-apollo.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-arm.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-aux.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-bfd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-bfd.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-go32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-h8300.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-h8500.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-i386.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-i860.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-i960.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-ia64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-m68k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-m88k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-mcore.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-mips.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-ppc.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-rs6000.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-sh.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-sparc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-stgo32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-svm68k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-tic4x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-tic30.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-tic54x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-tic80.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-u68k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-w65.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coff-we32k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-x86_64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
coff-z8k.c Add z8k ld testsuite and fix range check in coff-z8k.c 2016-06-04 22:15:52 +02:00
coff-z80.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coffcode.h Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
coffgen.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cofflink.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
coffswap.h Use a 32-bit value to hold the section number in the internal COFF symbol structure. 2016-01-18 15:58:47 +00:00
compress.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
config.bfd Allow ARC Linux targets that do not use uclibc. 2016-06-02 15:03:47 +01:00
config.in Enable 64-bit archives in ar and ranlib 2016-05-25 09:47:03 -07:00
configure Add new Serbian translation for the bfd library. 2016-06-01 16:51:55 +01:00
configure.ac Add new Serbian translation for the bfd library. 2016-06-01 16:51:55 +01:00
configure.com Copyright update for binutils 2016-01-01 23:00:01 +10:30
configure.host Copyright update for binutils 2016-01-01 23:00:01 +10:30
COPYING
corefile.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-aarch64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-alpha.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-arc.c arc: Add nps400 machine type, and assembler flag. 2016-03-21 16:44:49 +00:00
cpu-arm.c Add "arm_any" architecture type to allow -m option to various binutils to match any ARM architecture. 2016-06-02 17:17:03 +01:00
cpu-avr.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-bfin.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-cr16.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-cr16c.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-cris.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-crx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-d10v.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-d30v.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-dlx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-epiphany.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-fr30.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-frv.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-ft32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-h8300.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-h8500.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-hppa.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-i370.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-i386.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-i860.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-i960.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-ia64-opc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-ia64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-iamcu.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-ip2k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-iq2000.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-k1om.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-l1om.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-lm32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m9s12x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m9s12xg.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m32c.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m32r.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m68hc11.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m68hc12.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m68k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m88k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m10200.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-m10300.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-mcore.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-mep.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-metag.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-microblaze.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-mips.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-mmix.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-moxie.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-msp430.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-mt.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-nds32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-nios2.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-ns32k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-or1k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-pdp11.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-pj.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-plugin.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-powerpc.c PowerPC VLE 2016-06-07 22:04:38 +09:30
cpu-rl78.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-rs6000.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-rx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-s390.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-score.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-sh.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-sparc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-spu.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-tic4x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-tic6x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-tic30.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-tic54x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-tic80.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-tilegx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-tilepro.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-v850_rh850.c Restore v850-rh850 as a recognised v850 architecture name for backwards compatibility. 2016-03-22 11:34:26 +00:00
cpu-v850.c Fix v850 bfd arch info printable names 2016-03-09 15:43:13 +00:00
cpu-vax.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-visium.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-w65.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-we32k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-xc16x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-xgate.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-xstormy16.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-xtensa.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-z8k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
cpu-z80.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
demo64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
dep-in.sed
development.sh Copyright update for binutils 2016-01-01 23:00:01 +10:30
dwarf1.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
dwarf2.c Ignore DWARF debug information with a version of 0 - assume that it is padding. 2016-04-04 12:53:33 +01:00
ecoff.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
ecofflink.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
ecoffswap.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-am33lin.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-arc.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-arm.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-avr.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-avr.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-bfin.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-cr16.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-cr16c.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-cris.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-crx.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-d10v.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-d30v.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-dlx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-epiphany.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-fr30.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-frv.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-ft32.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-gen.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-h8300.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-hppa.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-hppa.h add more extern C 2016-06-01 21:26:32 -04:00
elf32-i370.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-i386.c Support i386 TLS code sequences without PLT 2016-06-08 12:01:50 -07:00
elf32-i860.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-i960.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-ip2k.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-iq2000.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-lm32.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-m32c.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-m32r.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-m68hc1x.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-m68hc1x.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-m68hc11.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-m68hc12.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-m68k.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-m88k.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-mcore.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-mep.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-metag.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-metag.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-microblaze.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-mips.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-moxie.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-msp430.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-mt.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-nds32.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-nds32.h add more extern C 2016-06-01 21:26:32 -04:00
elf32-nios2.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-nios2.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-or1k.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-pj.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-ppc.c PowerPC VLE 2016-06-07 22:04:38 +09:30
elf32-ppc.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-rl78.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-rx.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-rx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-s390.c bfd/s390: Misc minor fixes. 2016-06-07 18:14:15 +02:00
elf32-score7.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-score.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-score.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-sh64-com.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-sh64.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-sh64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-sh-relocs.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-sh-symbian.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-sh.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-sparc.c LD/ELF: Unify STB_GNU_UNIQUE handling 2016-05-17 12:21:40 +01:00
elf32-spu.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-spu.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-tic6x.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-tic6x.h add more extern C 2016-06-01 21:26:32 -04:00
elf32-tilegx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-tilegx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-tilepro.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-tilepro.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-v850.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-vax.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-visium.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-xc16x.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-xgate.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-xgate.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf32-xstormy16.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32-xtensa.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf64-alpha.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf64-gen.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf64-hppa.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf64-hppa.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf64-ia64-vms.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf64-mips.c Enable 64-bit archives in ar and ranlib 2016-05-25 09:47:03 -07:00
elf64-mmix.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf64-ppc.c PowerPC VLE 2016-06-07 22:04:38 +09:30
elf64-ppc.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf64-s390.c bfd/s390: Misc minor fixes. 2016-06-07 18:14:15 +02:00
elf64-sh64.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf64-sparc.c LD/ELF: Unify STB_GNU_UNIQUE handling 2016-05-17 12:21:40 +01:00
elf64-tilegx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf64-tilegx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf64-x86-64.c Support x86-64 TLS code sequences without PLT 2016-06-06 11:07:16 -07:00
elf64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf-attrs.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf-bfd.h PowerPC VLE 2016-06-07 22:04:38 +09:30
elf-eh-frame.c Correct assertion in NIOS2 linker to allow signed 16-buit immediate values. 2016-02-10 11:25:59 +00:00
elf-hppa.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf-ifunc.c Properly handle dynamic reloc against normal symbol 2016-04-11 19:41:52 -07:00
elf-linux-core.h Convert macros in elf-linux-core.h to inline functions 2016-01-21 19:59:33 +10:30
elf-m10200.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf-m10300.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elf-nacl.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf-nacl.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf-s390-common.c LD/ELF: Unify STB_GNU_UNIQUE handling 2016-05-17 12:21:40 +01:00
elf-strtab.c Revert PR16467 change 2016-06-02 12:28:39 +09:30
elf-vxworks.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf-vxworks.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elf.c Set sh_entsize for .init_array and similar. 2016-05-20 00:35:24 +09:30
elfcode.h Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
elfcore.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elflink.c Revert PR16467 change 2016-06-02 12:28:39 +09:30
elfn32-mips.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elfnn-aarch64.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elfnn-ia64.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elfxx-aarch64.c LD/ELF: Unify STB_GNU_UNIQUE handling 2016-05-17 12:21:40 +01:00
elfxx-aarch64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elfxx-ia64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
elfxx-ia64.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elfxx-mips.c MIPS/BFD: Correctly handle `bfd_reloc_outofrange' with branches 2016-05-28 10:59:45 +01:00
elfxx-mips.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elfxx-sparc.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elfxx-sparc.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
elfxx-target.h Enable 64-bit archives in ar and ranlib 2016-05-25 09:47:03 -07:00
elfxx-tilegx.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
elfxx-tilegx.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
epoc-pe-arm.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
epoc-pei-arm.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
format.c Fix BFD format matching for x86_64-w64-mingw32 -m32 LTO. 2016-02-16 00:27:11 +00:00
freebsd.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
gen-aout.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
genlink.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
go32stub.h
hash.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
host-aout.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
hp300bsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
hp300hpux.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
hppabsd-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
hpux-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386aout.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386bsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386dynix.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386freebsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386linux.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386lynx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386mach3.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386msdos.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
i386netbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
i386os9k.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
ieee.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
ihex.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
init.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
irix-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
libaout.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
libbfd-in.h Enable 64-bit archives in ar and ranlib 2016-05-25 09:47:03 -07:00
libbfd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
libbfd.h Enable 64-bit archives in ar and ranlib 2016-05-25 09:47:03 -07:00
libcoff-in.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
libcoff.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
libecoff.h Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
libhppa.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
libieee.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
libnlm.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
liboasys.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
libpei.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
libxcoff.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
linker.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
lynx-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68k4knetbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68klinux.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
m68knetbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
m88kmach3.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
m88kopenbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
mach-o-aarch64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
mach-o-arm.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
mach-o-i386.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
mach-o-target.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
mach-o-x86-64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
mach-o.c Add missing end-of-comment marker to previous delta. (Doh!) 2016-01-25 09:44:18 +00:00
mach-o.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
MAINTAINERS Copyright update for binutils 2016-01-01 23:00:01 +10:30
Makefile.am Fix NetBSD build with BSD and GNU make(1). 2016-02-01 10:35:38 +00:00
Makefile.in Regenerate Makefile.in/aclocal.m4 automake 1.11.6 2016-04-15 16:20:55 -07:00
makefile.vms Copyright update for binutils 2016-01-01 23:00:01 +10:30
mep-relocs.pl Copyright update for binutils 2016-01-01 23:00:01 +10:30
merge.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
mipsbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
mmo.c add casts to avoid arithmetic on void * 2016-04-26 20:09:57 -04:00
netbsd-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
netbsd.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
newsos3.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
nlm32-alpha.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
nlm32-i386.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
nlm32-ppc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
nlm32-sparc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
nlm32.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
nlm64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
nlm-target.h Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
nlm.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
nlmcode.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
nlmswap.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
ns32k.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
ns32knetbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
oasys.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
opncls.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
osf-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pc532-mach.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pdp11.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
pe-arm-wince.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pe-arm.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pe-i386.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pe-mcore.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pe-mips.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
pe-ppc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pe-sh.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pe-x86_64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pef-traceback.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
pef.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
pef.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
pei-arm-wince.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pei-arm.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pei-i386.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pei-ia64.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pei-mcore.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pei-mips.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pei-ppc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pei-sh.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
pei-x86_64.c Remove use of alloca. 2016-03-21 16:31:46 +00:00
peicode.h Add support for importing data from ILF images. 2016-02-01 13:44:15 +00:00
peXXigen.c Fix possible unbounded stack use in peXXigen.c 2016-03-22 10:37:42 +00:00
plugin.c Enable 64-bit archives in ar and ranlib 2016-05-25 09:47:03 -07:00
plugin.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
PORTING Copyright update for binutils 2016-01-01 23:00:01 +10:30
ppcboot.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
ptrace-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
README Copyright update for binutils 2016-01-01 23:00:01 +10:30
reloc16.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
reloc.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
riscix.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
rs6000-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
sco5-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
section.c Fix some places where octet to byte conversions are needed. 2016-03-11 09:17:28 +00:00
simple.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
som.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
som.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
sparclinux.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
sparclynx.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
sparcnetbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
srec.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
stab-syms.c update many old style function definitions 2016-04-20 07:04:49 -04:00
stabs.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
stamp-h.in
sunos.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
syms.c Fix some places where octet to byte conversions are needed. 2016-03-11 09:17:28 +00:00
sysdep.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
targets.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
targmatch.sed
tekhex.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
TODO Copyright update for binutils 2016-01-01 23:00:01 +10:30
trad-core.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
vax1knetbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
vaxbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
vaxnetbsd.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
verilog.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
versados.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
version.h Automatic date update in version.in 2016-06-08 00:00:19 +00:00
version.m4 Bump version to 2.26.51 2015-11-14 16:24:39 -08:00
vms-alpha.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
vms-lib.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
vms-misc.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
vms.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
warning.m4 enable -Wwrite-strings for gas 2016-03-31 07:30:56 -04:00
xcofflink.c Return void from linker callbacks 2016-05-28 11:17:20 +09:30
xsym.c Add support for non-ELF targets to check their relocs. 2016-04-21 15:43:00 +01:00
xsym.h Copyright update for binutils 2016-01-01 23:00:01 +10:30
xtensa-isa.c Copyright update for binutils 2016-01-01 23:00:01 +10:30
xtensa-modules.c Copyright update for binutils 2016-01-01 23:00:01 +10:30

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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

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

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

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

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

BFD supports the following configure options:

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

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

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

Bug reports without patches will be remembered, but they may never get
fixed until somebody volunteers to fix them.

Copyright (C) 2012-2016 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.