binutils-gdb/bfd
Alan Modra 5474d94f03 dynrelro section for read-only dynamic symbols copied into executable
Variables defined in shared libraries are copied into an executable's
.bss section when code in the executable is non-PIC and thus would
require dynamic text relocations to access the variable directly in
the shared library.  Recent x86 toolchains also copy variables into
the executable to gain a small speed improvement.

The problem is that if the variable was originally read-only, the copy
in .bss is writable, potentially opening a security hole.  This patch
cures that problem by putting the copy in a section that becomes
read-only after ld.so relocation, provided -z relro is in force.

The patch also fixes a microblaze linker segfault on attempting to
use dynamic bss variables.

bfd/
	PR ld/20995
	* elf-bfd.h (struct elf_link_hash_table): Add sdynrelro and
	sreldynrelro.
	(struct elf_backend_data): Add want_dynrelro.
	* elfxx-target.h (elf_backend_want_dynrelro): Define.
	(elfNN_bed): Update initializer.
	* elflink.c (_bfd_elf_create_dynamic_sections): Create
	sdynrelro and sreldynrelro sections.
	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Place variables
	copied into the executable from read-only sections into sdynrelro.
	(elf32_arm_size_dynamic_sections): Handle sdynrelro.
	(elf32_arm_finish_dynamic_symbol): Select sreldynrelro for
	dynamic relocs in sdynrelro.
	(elf_backend_want_dynrelro): Define.
	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol)
	(elf32_hppa_size_dynamic_sections, elf32_hppa_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf32-i386.c (elf_i386_adjust_dynamic_symbol)
	(elf_i386_size_dynamic_sections, elf_i386_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf32-metag.c (elf_metag_adjust_dynamic_symbol)
	(elf_metag_size_dynamic_sections, elf_metag_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol)
	(microblaze_elf_size_dynamic_sections)
	(microblaze_elf_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf32-nios2.c (nios2_elf32_finish_dynamic_symbol)
	(nios2_elf32_adjust_dynamic_symbol)
	(nios2_elf32_size_dynamic_sections)
	(elf_backend_want_dynrelro): As above.
	* elf32-or1k.c (or1k_elf_finish_dynamic_symbol)
	(or1k_elf_adjust_dynamic_symbol, or1k_elf_size_dynamic_sections)
	(elf_backend_want_dynrelro): As above.
	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol)
	(ppc_elf_size_dynamic_sections, ppc_elf_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf32-s390.c (elf_s390_adjust_dynamic_symbol)
	(elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol)
	(elf32_tic6x_size_dynamic_sections)
	(elf32_tic6x_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol)
	(tilepro_elf_size_dynamic_sections)
	(tilepro_elf_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol)
	(ppc64_elf_size_dynamic_sections, ppc64_elf_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf64-s390.c (elf_s390_adjust_dynamic_symbol)
	(elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol)
	(elf_x86_64_size_dynamic_sections)
	(elf_x86_64_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol)
	(elfNN_aarch64_size_dynamic_sections)
	(elfNN_aarch64_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol)
	(riscv_elf_size_dynamic_sections, riscv_elf_finish_dynamic_symbol)
	(elf_backend_want_dynrelro): As above.
	* elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol)
	(_bfd_mips_elf_size_dynamic_sections)
	(_bfd_mips_vxworks_finish_dynamic_symbol): As above.
	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol)
	(_bfd_sparc_elf_size_dynamic_sections)
	(_bfd_sparc_elf_finish_dynamic_symbol): As above.
	* elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol)
	(tilegx_elf_size_dynamic_sections)
	(tilegx_elf_finish_dynamic_symbol): As above.
	* elf32-mips.c (elf_backend_want_dynrelro): Define.
	* elf64-mips.c (elf_backend_want_dynrelro): Define.
	* elf32-sparc.c (elf_backend_want_dynrelro): Define.
	* elf64-sparc.c (elf_backend_want_dynrelro): Define.
	* elf32-tilegx.c (elf_backend_want_dynrelro): Define.
	* elf64-tilegx.c (elf_backend_want_dynrelro): Define.
	* elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol): Tidy.
	(microblaze_elf_size_dynamic_sections): Handle sdynbss.
	* elf32-nios2.c (nios2_elf32_size_dynamic_sections): Make use
	of linker shortcuts to dynamic sections rather than comparing
	names.  Correctly set "got" flag.
ld/
	PR ld/20995
	* testsuite/ld-arm/farcall-mixed-app-v5.d: Update to suit changed
	stub hash table traversal caused by section id increment.  Accept
	the previous output too.
	* testsuite/ld-arm/farcall-mixed-app.d: Likewise.
	* testsuite/ld-arm/farcall-mixed-lib-v4t.d: Likewise.
	* testsuite/ld-arm/farcall-mixed-lib.d: Likewise.
	* testsuite/ld-elf/pr20995a.s, * testsuite/ld-elf/pr20995b.s,
	* testsuite/ld-elf/pr20995.r: New test.
	* testsuite/ld-elf/elf.exp: Run it.
2016-12-26 13:47:51 +10:30
..
doc
hosts
po Regenerate pot files. 2016-12-23 09:32:28 +01:00
.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 Fix seg-fault running strip on a corrupt binary. 2016-12-06 15:58:15 +00:00
arc-got.h
arc-plt.def
arc-plt.h
archive64.c
archive.c
archures.c Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
armnetbsd.c
bfd-in2.h Rework RISC-V relocations 2016-12-20 12:26:33 +10:30
bfd-in.h MIPS/opcodes: Also set disassembler's ASE flags from ELF structures 2016-12-14 22:12:21 +00:00
bfd.c
bfd.m4
bfdio.c
bfdwin.c
binary.c
bout.c
cache.c
cf-i386lynx.c
cf-sparclynx.c
ChangeLog dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
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
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 Fix typo "Faal through" should be "Fall through". 2016-11-14 08:44:17 +00:00
coffgen.c
cofflink.c
coffswap.h
compress.c Provide a more helpful error message when the BFD library is unable to load an extremely large section. 2016-11-10 12:26:53 +00:00
config.bfd Add support for Fushia OS. 2016-12-02 10:44:29 +00:00
config.in hppa-linux-gnu-ranlib: libcpp.a: File format not recognized 2016-12-23 23:50:39 +10:30
configure hppa-linux-gnu-ranlib: libcpp.a: File format not recognized 2016-12-23 23:50:39 +10:30
configure.ac hppa-linux-gnu-ranlib: libcpp.a: File format not recognized 2016-12-23 23:50:39 +10:30
configure.com
configure.host
COPYING
corefile.c
cpu-aarch64.c bfd: aarch64: fix word and arrdess size declaration in ilp32 mode 2016-12-21 17:56:03 +05:30
cpu-alpha.c
cpu-arc.c gas/arc: Don't rely on bfd list of cpu type for cpu selection 2016-10-27 12:28:20 +01: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-riscv.c Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
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
cpu-v850.c
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 BFD/DWARF2: Correct an `index' global shadowing error 2016-11-21 16:38:08 +00:00
ecoff.c
ecofflink.c
ecoffswap.h
elf32-am33lin.c
elf32-arc.c Put .dynbss and .rel.bss shortcuts in main elf hash table 2016-12-26 13:42:20 +10:30
elf32-arm.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-avr.c Fix PR20789 - relaxation with negative valued diff relocs 2016-11-16 16:11:46 +05:30
elf32-avr.h
elf32-bfin.c Delete duplicate target short-cuts to dynamic sections 2016-11-23 15:34:01 +10:30
elf32-cr16.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf32-cr16c.c
elf32-cris.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf32-crx.c
elf32-d10v.c
elf32-d30v.c
elf32-dlx.c
elf32-dlx.h
elf32-epiphany.c
elf32-fr30.c
elf32-frv.c Delete duplicate target short-cuts to dynamic sections 2016-11-23 15:34:01 +10:30
elf32-ft32.c
elf32-gen.c
elf32-h8300.c
elf32-hppa.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-hppa.h
elf32-i370.c Delete duplicate target short-cuts to dynamic sections 2016-11-23 15:34:01 +10:30
elf32-i386.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-i860.c
elf32-i960.c
elf32-ip2k.c
elf32-iq2000.c
elf32-lm32.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf32-m32c.c Delete duplicate target short-cuts to dynamic sections 2016-11-23 15:34:01 +10:30
elf32-m32r.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf32-m68hc1x.c
elf32-m68hc1x.h
elf32-m68hc11.c
elf32-m68hc12.c
elf32-m68k.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf32-m88k.c
elf32-mcore.c
elf32-mep.c
elf32-metag.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-metag.h
elf32-microblaze.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-mips.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-moxie.c
elf32-msp430.c
elf32-mt.c
elf32-nds32.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf32-nds32.h Delete duplicate target short-cuts to dynamic sections 2016-11-23 15:34:01 +10:30
elf32-nios2.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-nios2.h
elf32-or1k.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-pj.c
elf32-ppc.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-ppc.h PR20744, Incorrect PowerPC VLE relocs 2016-11-22 20:19:29 +10:30
elf32-rl78.c Delete duplicate target short-cuts to dynamic sections 2016-11-23 15:34:01 +10:30
elf32-rx.c Don't fudge p_vaddr when PHDR in segment 2016-12-13 09:37:37 +10:30
elf32-rx.h
elf32-s390.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-score7.c Fix the linker so that it will not silently generate ELF binaries with invalid program headers. Fix readelf to report such invalid binaries. 2016-11-23 11:10:39 +00:00
elf32-score.c Delete duplicate target short-cuts to dynamic sections 2016-11-23 15:34:01 +10:30
elf32-score.h
elf32-sh64-com.c
elf32-sh64.c
elf32-sh64.h
elf32-sh-relocs.h
elf32-sh-symbian.c
elf32-sh.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf32-sparc.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-spu.c
elf32-spu.h
elf32-tic6x.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-tic6x.h
elf32-tilegx.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-tilegx.h
elf32-tilepro.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf32-tilepro.h
elf32-v850.c
elf32-vax.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf32-visium.c
elf32-xc16x.c
elf32-xgate.c
elf32-xgate.h
elf32-xstormy16.c Delete duplicate target short-cuts to dynamic sections 2016-11-23 15:34:01 +10:30
elf32-xtensa.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf32.c
elf64-alpha.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf64-gen.c
elf64-hppa.c Don't add PHDR for objcopy/strip or ld script specifying PHDRS 2016-12-13 09:37:59 +10:30
elf64-hppa.h
elf64-ia64-vms.c
elf64-mips.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf64-mmix.c
elf64-ppc.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf64-ppc.h PowerPC64 dot-symbol compatibility bugfixes 2016-12-03 21:00:01 +10:30
elf64-s390.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf64-sh64.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elf64-sparc.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf64-tilegx.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf64-tilegx.h
elf64-x86-64.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf64.c
elf-attrs.c
elf-bfd.h dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elf-eh-frame.c
elf-hppa.h
elf-ifunc.c
elf-linux-core.h
elf-m10200.c
elf-m10300.c Fix the linker so that it will not silently generate ELF binaries with invalid program headers. Fix readelf to report such invalid binaries. 2016-11-23 11:10:39 +00:00
elf-nacl.c
elf-nacl.h
elf-s390-common.c
elf-strtab.c
elf-vxworks.c
elf-vxworks.h
elf.c Fix seg-fault in strip when copying a corrupt binary. 2016-12-06 16:53:57 +00:00
elfcode.h Fix the linker so that it will not silently generate ELF binaries with invalid program headers. Fix readelf to report such invalid binaries. 2016-11-23 11:10:39 +00:00
elfcore.h
elflink.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elfn32-mips.c
elfnn-aarch64.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elfnn-ia64.c elf_backend_dtrel_excludes_plt 2016-11-23 15:43:25 +10:30
elfnn-riscv.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elfxx-aarch64.c
elfxx-aarch64.h
elfxx-ia64.c
elfxx-ia64.h
elfxx-mips.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elfxx-mips.h
elfxx-riscv.c Rework RISC-V relocations 2016-12-20 12:26:33 +10:30
elfxx-riscv.h Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
elfxx-sparc.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elfxx-sparc.h Put .dynbss and .rel.bss shortcuts in main elf hash table 2016-12-26 13:42:20 +10:30
elfxx-target.h dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elfxx-tilegx.c dynrelro section for read-only dynamic symbols copied into executable 2016-12-26 13:47:51 +10:30
elfxx-tilegx.h
epoc-pe-arm.c
epoc-pei-arm.c
format.c
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 Remove "collect" forms of generic linker add symbols functions 2016-12-24 00:15:58 +10:30
libbfd.c
libbfd.h Remove "collect" forms of generic linker add symbols functions 2016-12-24 00:15:58 +10:30
libcoff-in.h
libcoff.h
libecoff.h
libhppa.h
libieee.h
libnlm.h
liboasys.h
libpei.h
libxcoff.h
linker.c Call target specific add_symbols function 2016-12-24 00:20:03 +10:30
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 Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
Makefile.in Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
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
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
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 Fix seg-fault in the binutils utilities when reading a corrupt input file. 2016-12-05 16:34:45 +00:00
peXXigen.c Prevent problems with section alignment by not shrinking the .rsrc section. 2016-11-25 09:47:31 +00:00
plugin.c
plugin.h
PORTING
ppcboot.c
ptrace-core.c
README
reloc16.c
reloc.c Rework RISC-V relocations 2016-12-20 12:26:33 +10:30
riscix.c
rs6000-core.c
sco5-core.c
section.c
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
sysdep.h
targets.c Fix building binutils for all 32-bit targets by moving riscv32 target into 64-bit builds only. 2016-11-04 13:50:01 +00:00
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-12-26 00:00:32 +00:00
version.m4 Bump version to 2.28.51 2016-12-23 09:50:53 +01:00
vms-alpha.c
vms-lib.c
vms-misc.c
vms.h
warning.m4 Fix spelling mistakes in comments in configure scripts 2016-11-22 15:43:03 +00:00
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.