2
0
mirror of https://sourceware.org/git/binutils-gdb.git synced 2024-12-21 04:42:53 +08:00
binutils-gdb/bfd
H.J. Lu 4e0c91e454 Bind defined symbol locally in PIE
Symbols defined in PIE should be bound locally, the same as -shared
-Bsymbolic.

bfd/

	PR ld/19827
	* elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
	locally in PIE.
	(elf_i386_relocate_section): Likewise.
	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
	(elf_x86_64_relocate_section): Likewise.

ld/

	PR ld/19827
	* testsuite/ld-i386/i386.exp: Run PR ld/19827 tests.
	* testsuite/ld-x86-64/x86-64.exp: Likewise.
	* testsuite/ld-i386/pr19827.rd: New file.
	* testsuite/ld-i386/pr19827a.S: Likewise.
	* testsuite/ld-i386/pr19827b.S: Likewise.
	* testsuite/ld-x86-64/pr19827.rd: Likewise.
	* testsuite/ld-x86-64/pr19827a.S: Likewise.
	* testsuite/ld-x86-64/pr19827b.S: Likewise.
2016-03-15 11:47:06 -07:00
..
doc
hosts
po Regenerate bfd files. 2016-03-02 13:37:47 +10:30
.gitignore
acinclude.m4
aclocal.m4
aix5ppc-core.c
aix386-core.c
aout0.c
aout32.c
aout64.c
aout-adobe.c
aout-arm.c
aout-cris.c
aout-ns32k.c
aout-sparcle.c
aout-target.h
aout-tic30.c
aoutf1.h
aoutx.h Prevent a seg-fault in the linker when accessing a specially crafted, corrupt, aout binary. 2016-02-19 15:55:06 +00:00
arc-plt.def
arc-plt.h
archive64.c
archive.c Allow zero length archive elements. 2016-03-07 17:29:25 +00:00
archures.c
armnetbsd.c
bfd-in2.h Regenerate bfd-in2.h 2016-03-14 13:17:22 -07:00
bfd-in.h
bfd.c Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
bfd.m4
bfdio.c
bfdwin.c
binary.c
bout.c
cache.c
cf-i386lynx.c
cf-sparclynx.c
ChangeLog Bind defined symbol locally in PIE 2016-03-15 11:47:06 -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
ChangeLog-9193
ChangeLog-9495
ChangeLog-9697
ChangeLog-9899
cisco-core.c
coff64-rs6000.c
coff-alpha.c Allow zero length archive elements 2016-03-09 16:54:24 +10:30
coff-apollo.c
coff-arm.c
coff-aux.c
coff-bfd.c
coff-bfd.h
coff-go32.c
coff-h8300.c
coff-h8500.c
coff-i386.c
coff-i860.c
coff-i960.c
coff-ia64.c
coff-m68k.c
coff-m88k.c
coff-mcore.c
coff-mips.c
coff-ppc.c
coff-rs6000.c
coff-sh.c
coff-sparc.c
coff-stgo32.c
coff-svm68k.c
coff-tic4x.c
coff-tic30.c
coff-tic54x.c
coff-tic80.c
coff-u68k.c
coff-w65.c
coff-we32k.c
coff-x86_64.c
coff-z8k.c
coff-z80.c
coffcode.h
coffgen.c
cofflink.c For COFF and COFF/PE targets, skip relocations against absolute symbols. 2016-03-09 15:26:45 +00:00
coffswap.h
compress.c
config.bfd Mark the i370 target as obsolete. 2016-03-10 15:29:42 +00:00
config.in Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
configure Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
configure.ac Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
configure.com
configure.host
COPYING
corefile.c
cpu-aarch64.c
cpu-alpha.c
cpu-arc.c Change the default architecture value for ARC bfds so that they have the lowest possible value, and hence can be merged with other ARC binaries wihtout changing their architecture value. 2016-02-05 09:58:01 +00:00
cpu-arm.c
cpu-avr.c
cpu-bfin.c
cpu-cr16.c
cpu-cr16c.c
cpu-cris.c
cpu-crx.c
cpu-d10v.c
cpu-d30v.c
cpu-dlx.c
cpu-epiphany.c
cpu-fr30.c
cpu-frv.c
cpu-ft32.c
cpu-h8300.c
cpu-h8500.c
cpu-hppa.c
cpu-i370.c
cpu-i386.c
cpu-i860.c
cpu-i960.c
cpu-ia64-opc.c
cpu-ia64.c
cpu-iamcu.c
cpu-ip2k.c
cpu-iq2000.c
cpu-k1om.c
cpu-l1om.c
cpu-lm32.c
cpu-m9s12x.c
cpu-m9s12xg.c
cpu-m32c.c
cpu-m32r.c
cpu-m68hc11.c
cpu-m68hc12.c
cpu-m68k.c
cpu-m88k.c
cpu-m10200.c
cpu-m10300.c
cpu-mcore.c
cpu-mep.c
cpu-metag.c
cpu-microblaze.c
cpu-mips.c
cpu-mmix.c
cpu-moxie.c
cpu-msp430.c
cpu-mt.c
cpu-nds32.c
cpu-nios2.c
cpu-ns32k.c
cpu-or1k.c
cpu-pdp11.c
cpu-pj.c
cpu-plugin.c
cpu-powerpc.c
cpu-rl78.c
cpu-rs6000.c
cpu-rx.c
cpu-s390.c
cpu-score.c
cpu-sh.c
cpu-sparc.c
cpu-spu.c
cpu-tic4x.c
cpu-tic6x.c
cpu-tic30.c
cpu-tic54x.c
cpu-tic80.c
cpu-tilegx.c
cpu-tilepro.c
cpu-v850_rh850.c Fix v850 bfd arch info printable names 2016-03-09 15:43:13 +00:00
cpu-v850.c Fix v850 bfd arch info printable names 2016-03-09 15:43:13 +00:00
cpu-vax.c
cpu-visium.c
cpu-w65.c
cpu-we32k.c
cpu-xc16x.c
cpu-xgate.c
cpu-xstormy16.c
cpu-xtensa.c
cpu-z8k.c
cpu-z80.c
demo64.c
dep-in.sed
development.sh
dwarf1.c
dwarf2.c
ecoff.c
ecofflink.c
ecoffswap.h
elf32-am33lin.c
elf32-arc.c [ARC] Allow non-instruction relocations within .text sections 2016-03-08 14:19:52 +01:00
elf32-arm.c
elf32-avr.c
elf32-avr.h
elf32-bfin.c
elf32-cr16.c
elf32-cr16c.c
elf32-cris.c Fix test-case ld-elf/pr19617b 2016-02-23 02:06:45 +01:00
elf32-crx.c
elf32-d10v.c
elf32-d30v.c
elf32-dlx.c
elf32-epiphany.c
elf32-fr30.c
elf32-frv.c
elf32-ft32.c
elf32-gen.c
elf32-h8300.c
elf32-hppa.c Fix /usr/bin/ld: final link failed: File truncated error on hppa. 2016-01-31 11:52:24 -05:00
elf32-hppa.h
elf32-i370.c
elf32-i386.c Bind defined symbol locally in PIE 2016-03-15 11:47:06 -07:00
elf32-i860.c
elf32-i960.c
elf32-ip2k.c
elf32-iq2000.c
elf32-lm32.c
elf32-m32c.c
elf32-m32r.c
elf32-m68hc1x.c
elf32-m68hc1x.h
elf32-m68hc11.c
elf32-m68hc12.c
elf32-m68k.c
elf32-m88k.c
elf32-mcore.c
elf32-mep.c
elf32-metag.c
elf32-metag.h
elf32-microblaze.c Fix the genetation of GOT entries for the Microblaze target. 2016-02-23 10:37:24 +00:00
elf32-mips.c
elf32-moxie.c
elf32-msp430.c
elf32-mt.c
elf32-nds32.c Fix compile time warnings building the binutils with a gcc6 compiler. 2016-02-09 16:34:24 +00:00
elf32-nds32.h
elf32-nios2.c Correct assertion in NIOS2 linker to allow signed 16-buit immediate values. 2016-02-10 11:25:59 +00:00
elf32-nios2.h
elf32-or1k.c
elf32-pj.c
elf32-ppc.c
elf32-ppc.h
elf32-rl78.c
elf32-rx.c
elf32-rx.h
elf32-s390.c
elf32-score7.c
elf32-score.c
elf32-score.h
elf32-sh64-com.c
elf32-sh64.c
elf32-sh64.h
elf32-sh-relocs.h
elf32-sh-symbian.c
elf32-sh.c
elf32-sparc.c
elf32-spu.c
elf32-spu.h
elf32-tic6x.c
elf32-tic6x.h
elf32-tilegx.c
elf32-tilegx.h
elf32-tilepro.c
elf32-tilepro.h
elf32-v850.c
elf32-vax.c
elf32-visium.c
elf32-xc16x.c
elf32-xgate.c
elf32-xgate.h
elf32-xstormy16.c
elf32-xtensa.c
elf32.c
elf64-alpha.c
elf64-gen.c
elf64-hppa.c Fix /usr/bin/ld: final link failed: File truncated error on hppa. 2016-01-31 11:52:24 -05:00
elf64-hppa.h
elf64-ia64-vms.c
elf64-mips.c
elf64-mmix.c
elf64-ppc.c Fix powerpc64 -r --save-restore-funcs 2016-02-26 23:03:23 +10:30
elf64-ppc.h
elf64-s390.c elf64-s390.c: Fix -Werror=misleading-indentation 2016-02-01 03:47:47 +01:00
elf64-sh64.c
elf64-sparc.c
elf64-tilegx.c
elf64-tilegx.h
elf64-x86-64.c Bind defined symbol locally in PIE 2016-03-15 11:47:06 -07:00
elf64.c
elf-attrs.c
elf-bfd.h Enhance GAS's .section directive so that it can take numeric values for the flags and type fields. (ELF only) 2016-02-15 11:11:46 +00:00
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
elf-ifunc.c
elf-linux-core.h
elf-m10200.c
elf-m10300.c
elf-nacl.c
elf-nacl.h
elf-s390-common.c
elf-strtab.c
elf-vxworks.c
elf-vxworks.h
elf.c Fix some places where octet to byte conversions are needed. 2016-03-11 09:17:28 +00:00
elfcode.h Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
elfcore.h
elflink.c Fix some places where octet to byte conversions are needed. 2016-03-11 09:17:28 +00:00
elfn32-mips.c
elfnn-aarch64.c [AArch64] Create .got section if _GLOBAL_OFFSET_TABLE_ referenced 2016-03-07 15:40:50 +00:00
elfnn-ia64.c
elfxx-aarch64.c
elfxx-aarch64.h
elfxx-ia64.c
elfxx-ia64.h
elfxx-mips.c Increment the ABIVERSION to 5 for MIPS objects with non-executable stacks. 2016-02-23 12:58:03 +00:00
elfxx-mips.h
elfxx-sparc.c
elfxx-sparc.h
elfxx-target.h Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
elfxx-tilegx.c
elfxx-tilegx.h
epoc-pe-arm.c
epoc-pei-arm.c
format.c Fix BFD format matching for x86_64-w64-mingw32 -m32 LTO. 2016-02-16 00:27:11 +00:00
freebsd.h
gen-aout.c
genlink.h
go32stub.h
hash.c
host-aout.c
hp300bsd.c
hp300hpux.c
hppabsd-core.c
hpux-core.c
i386aout.c
i386bsd.c
i386dynix.c
i386freebsd.c
i386linux.c
i386lynx.c
i386mach3.c
i386msdos.c
i386netbsd.c
i386os9k.c
ieee.c
ihex.c
init.c
irix-core.c
libaout.h
libbfd-in.h
libbfd.c
libbfd.h
libcoff-in.h
libcoff.h
libecoff.h
libhppa.h
libieee.h
libnlm.h
liboasys.h
libpei.h
libxcoff.h
linker.c
lynx-core.c
m68k4knetbsd.c
m68klinux.c
m68knetbsd.c
m88kmach3.c
m88kopenbsd.c
mach-o-aarch64.c
mach-o-arm.c
mach-o-i386.c
mach-o-target.c
mach-o-x86-64.c
mach-o.c
mach-o.h
MAINTAINERS
Makefile.am Fix NetBSD build with BSD and GNU make(1). 2016-02-01 10:35:38 +00:00
Makefile.in Regenerate bfd files. 2016-03-02 13:37:47 +10:30
makefile.vms
mep-relocs.pl
merge.c
mipsbsd.c
mmo.c
netbsd-core.c
netbsd.h
newsos3.c
nlm32-alpha.c
nlm32-i386.c
nlm32-ppc.c
nlm32-sparc.c
nlm32.c
nlm64.c
nlm-target.h
nlm.c
nlmcode.h
nlmswap.h
ns32k.h
ns32knetbsd.c
oasys.c Fix compile time warnings building the binutils with a gcc6 compiler. 2016-02-09 16:34:24 +00:00
opncls.c
osf-core.c
pc532-mach.c
pdp11.c
pe-arm-wince.c
pe-arm.c
pe-i386.c
pe-mcore.c
pe-mips.c Fix formatting of pe-mips.c file. 2016-02-05 10:15:26 +00:00
pe-ppc.c
pe-sh.c
pe-x86_64.c
pef-traceback.h
pef.c
pef.h
pei-arm-wince.c
pei-arm.c
pei-i386.c
pei-ia64.c
pei-mcore.c
pei-mips.c
pei-ppc.c
pei-sh.c
pei-x86_64.c
peicode.h Add support for importing data from ILF images. 2016-02-01 13:44:15 +00:00
peXXigen.c
plugin.c Fix BFD format matching for x86_64-w64-mingw32 -m32 LTO. 2016-02-16 00:27:11 +00:00
plugin.h
PORTING
ppcboot.c
ptrace-core.c
README
reloc16.c
reloc.c Fix some places where octet to byte conversions are needed. 2016-03-11 09:17:28 +00:00
riscix.c
rs6000-core.c
sco5-core.c
section.c Fix some places where octet to byte conversions are needed. 2016-03-11 09:17:28 +00:00
simple.c
som.c
som.h
sparclinux.c
sparclynx.c
sparcnetbsd.c
srec.c
stab-syms.c
stabs.c
stamp-h.in
sunos.c
syms.c Fix some places where octet to byte conversions are needed. 2016-03-11 09:17:28 +00:00
sysdep.h
targets.c
targmatch.sed
tekhex.c
TODO
trad-core.c
vax1knetbsd.c
vaxbsd.c
vaxnetbsd.c
verilog.c
versados.c
version.h Automatic date update in version.in 2016-03-15 00:00:19 +00:00
version.m4
vms-alpha.c
vms-lib.c
vms-misc.c
vms.h
warning.m4
xcofflink.c
xsym.c
xsym.h
xtensa-isa.c
xtensa-modules.c

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.