8sa1-binutils-gdb/bfd
Tamar Christina 74edb473c9 PE/Windows x86_64: Fix weak undef symbols after image base change
The change in PR19011 changed the image load address from being in the lower
32-bit address space to the higher 64-bit address space.

However when you have a weak undef symbol which stays undef at the end of
linking the linker has to resolve this (Windows loader does not support undef
symbols).  As such typically these would resolve to 0.

The relocation used for these weak symbols are the normal 32-bit PC_REL call
relocs.  So when doing the overflow check LD checks if the distance between the
symbol and the call is within range.  However now that the load address is
> 32-bits and the symbol val is 0 this overflow check will always fail.

As such the linker gives a bogus error.  This patch makes the linker not emit
the overflow failure but chooses to still let the check be performed (as it's
mid-end code).

One down side of this is that it does break the common convention that the call
be to sym at 0x0. i.e. before you'd get

      401015:   74 05                   je     40101c
      401017:   e8 e4 ef bf ff          callq  0

and now you get

   140001015:   74 05                   je     14000101c
   140001017:   e8 e4 ef ff bf          call   100000000

since the call is PC_REL there's no way to get the range large enough to
resolve to 0.  As such I have chosen to leave it as the furthest simple range
that we can still represent.

By only ignoring the error we leave the symbol value itself to still be 0
such that the if(<symbol>) checks still work correctly.

bfd/ChangeLog:

2021-04-01  Tamar Christina  <tamar.christina@arm.com>

	PR ld/26659
	* cofflink.c (_bfd_coff_generic_relocate_section): Ignore overflow.

ld/ChangeLog:

2021-04-01  Tamar Christina  <tamar.christina@arm.com>

	PR ld/26659
	* testsuite/ld-pe/pe.exp: Add test.
	* testsuite/ld-pe/pr26659-weak-undef-sym.d: New test.
	* testsuite/ld-pe/pr26659-weak-undef-sym.s: New test.
2021-04-01 17:54:04 +01:00
..
doc Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
hosts Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
po Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
.gitignore Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
acinclude.m4 Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
aclocal.m4 Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
aix5ppc-core.c Use bool in bfd 2021-03-31 10:49:23 +10:30
aix386-core.c ELF: Don't generate unused section symbols 2021-01-07 06:46:55 -08:00
aout32.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
aout64.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
aout-cris.c Use bool in bfd 2021-03-31 10:49:23 +10:30
aout-ns32k.c Use bool in bfd 2021-03-31 10:49:23 +10:30
aout-target.h Use bool in bfd 2021-03-31 10:49:23 +10:30
aoutx.h Use bool in bfd 2021-03-31 10:49:23 +10:30
arc-got.h Use bool in bfd 2021-03-31 10:49:23 +10:30
arc-plt.def Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
arc-plt.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
archive64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
archive.c Use bool in bfd 2021-03-31 10:49:23 +10:30
archures.c Use bool in bfd 2021-03-31 10:49:23 +10:30
bfd-in2.h PR27671, Poisoning TRUE / FALSE poisons Win32 system headers 2021-03-31 23:07:51 +10:30
bfd-in.h PR27671, Poisoning TRUE / FALSE poisons Win32 system headers 2021-03-31 23:07:51 +10:30
bfd.c Use bool in bfd 2021-03-31 10:49:23 +10:30
bfd.m4 Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
bfdio.c Fix another path length problem opening files on Win32 systems. 2021-01-07 12:05:43 +00:00
bfdwin.c Use bool in bfd 2021-03-31 10:49:23 +10:30
binary.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cache.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cf-i386lynx.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ChangeLog PE/Windows x86_64: Fix weak undef symbols after image base change 2021-04-01 17:54:04 +01:00
ChangeLog-0001
ChangeLog-0203
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009 PR27116, Spelling errors found by Debian style checker 2021-01-01 14:36:35 +10:30
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014 PR27116, Spelling errors found by Debian style checker 2021-01-01 14:36:35 +10:30
ChangeLog-2015 PR27116, Spelling errors found by Debian style checker 2021-01-01 14:36:35 +10:30
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019 ChangeLog rotation 2020-01-01 18:12:08 +10:30
ChangeLog-2020 ChangeLog rotation 2021-01-01 10:31:02 +10:30
ChangeLog-9193
ChangeLog-9495
ChangeLog-9697
ChangeLog-9899
cisco-core.c ELF: Don't generate unused section symbols 2021-01-07 06:46:55 -08:00
coff64-rs6000.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-alpha.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-arm.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-arm.h Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-bfd.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-bfd.h Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-go32.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-i386.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-ia64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-mcore.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-mips.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-rs6000.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-sh.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-stgo32.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-tic4x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-tic30.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-tic54x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-x86_64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-z8k.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coff-z80.c Use bool in bfd 2021-03-31 10:49:23 +10:30
coffcode.h Use bool in bfd 2021-03-31 10:49:23 +10:30
coffgen.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cofflink.c PE/Windows x86_64: Fix weak undef symbols after image base change 2021-04-01 17:54:04 +01:00
coffswap.h aix: implement TLS relocation for gas and ld 2021-03-12 22:47:33 +10:30
compress.c Use bool in bfd 2021-03-31 10:49:23 +10:30
config.bfd Remove ia64 from obsolete list 2021-02-11 22:33:48 +10:30
config.in Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
configure Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
configure.ac Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
configure.com Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
configure.host Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
COPYING
corefile.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-aarch64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-aarch64.h Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-alpha.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-arc.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-arm.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-arm.h Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-avr.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-bfin.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-bpf.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-cr16.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-cris.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-crx.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-csky.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-d10v.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-d30v.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-dlx.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-epiphany.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-fr30.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-frv.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-ft32.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-h8300.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-h8300.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
cpu-hppa.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-i386.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-ia64-opc.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
cpu-ia64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-iamcu.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-ip2k.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-iq2000.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-k1om.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-l1om.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-lm32.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-m9s12x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-m9s12xg.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-m32c.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-m32r.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-m68hc11.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-m68hc12.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-m68k.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-m68k.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
cpu-m10200.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-m10300.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-mcore.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-mep.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-metag.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-microblaze.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-mips.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-mmix.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-moxie.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-msp430.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-mt.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-nds32.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-nfp.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-nios2.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-ns32k.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-or1k.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-pdp11.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-pj.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-powerpc.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-pru.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-riscv.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-riscv.h RISC-V: Add bfd/cpu-riscv.h to support all spec versions controlling. 2021-02-18 15:09:16 +08:00
cpu-rl78.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-rs6000.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-rx.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-s12z.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-s390.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-score.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-sh.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-sparc.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-spu.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-tic4x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-tic6x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-tic30.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-tic54x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-tilegx.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-tilepro.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-v850_rh850.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-v850.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-vax.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-visium.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-wasm32.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-xc16x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-xgate.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-xstormy16.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-xtensa.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-z8k.c Use bool in bfd 2021-03-31 10:49:23 +10:30
cpu-z80.c Use bool in bfd 2021-03-31 10:49:23 +10:30
dep-in.sed
development.sh Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
dwarf1.c Use bool in bfd 2021-03-31 10:49:23 +10:30
dwarf2.c Use bool in bfd 2021-03-31 10:49:23 +10:30
ecoff-bfd.h Use bool in bfd 2021-03-31 10:49:23 +10:30
ecoff.c Remove strneq macro and use startswith. 2021-04-01 15:00:56 +02:00
ecofflink.c Use bool in bfd 2021-03-31 10:49:23 +10:30
ecoffswap.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf32-am33lin.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-arc.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-arm.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-arm.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-avr.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-avr.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-bfin.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-bfin.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-cr16.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-cr16.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-cris.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-crx.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-csky.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-csky.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-d10v.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-d30v.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-dlx.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-dlx.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf32-epiphany.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-fr30.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-frv.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-ft32.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-gen.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-h8300.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-hppa.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-hppa.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-i386.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-ip2k.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-iq2000.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-lm32.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-m32c.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-m32r.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-m68hc1x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-m68hc1x.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-m68hc11.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-m68hc12.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-m68k.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-m68k.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-mcore.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-mep.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-metag.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-metag.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-microblaze.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-mips.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-moxie.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-msp430.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-mt.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-nds32.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-nds32.h Miscellaneous BFD int vs bfd_boolean fixes 2021-03-29 11:22:21 +10:30
elf32-nios2.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-nios2.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-or1k.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-pj.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-ppc.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-ppc.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-pru.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-rl78.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-rx.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-rx.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf32-s12z.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-s390.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-score7.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-score.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-score.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-sh-relocs.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-sh.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-sparc.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-spu.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-spu.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-tic6x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-tic6x.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-tilegx.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-tilegx.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf32-tilepro.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-tilepro.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf32-v850.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-v850.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-vax.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-visium.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-wasm32.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-xc16x.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-xgate.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-xstormy16.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32-xtensa.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf32-z80.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf32.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf64-alpha.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-bpf.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-gen.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-hppa.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-hppa.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf64-ia64-vms.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-mips.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-mmix.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-nfp.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-ppc.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf64-ppc.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-s390.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-sparc.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-tilegx.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64-tilegx.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf64-x86-64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf64.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf-attrs.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-bfd.h Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elf-eh-frame.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-hppa.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-ifunc.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-linker-x86.h ld/x86: Add -z report-relative-reloc 2021-01-15 18:07:07 -08:00
elf-linux-core.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
elf-m10200.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-m10300.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-nacl.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-nacl.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-properties.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-s390-common.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-s390.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-strtab.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-vxworks.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elf-vxworks.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elf.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elfcode.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elfcore.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elflink.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elfn32-mips.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elfnn-aarch64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elfnn-ia64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elfnn-riscv.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elfxx-aarch64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-aarch64.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-ia64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-ia64.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-mips.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-mips.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-riscv.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elfxx-riscv.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-sparc.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-sparc.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-target.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-tilegx.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
elfxx-tilegx.h Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-x86.c Use bool in bfd 2021-03-31 10:49:23 +10:30
elfxx-x86.h Use bool in bfd 2021-03-31 10:49:23 +10:30
format.c Use bool in bfd 2021-03-31 10:49:23 +10:30
gen-aout.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
genlink.h Use bool in bfd 2021-03-31 10:49:23 +10:30
go32stub.h
hash.c Use bool in bfd 2021-03-31 10:49:23 +10:30
host-aout.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
hppabsd-core.c ELF: Don't generate unused section symbols 2021-01-07 06:46:55 -08:00
hpux-core.c Add startswith function and use it instead of CONST_STRNEQ. 2021-03-22 11:01:43 +01:00
i386aout.c Use bool in bfd 2021-03-31 10:49:23 +10:30
i386bsd.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
i386lynx.c Use bool in bfd 2021-03-31 10:49:23 +10:30
i386msdos.c Use bool in bfd 2021-03-31 10:49:23 +10:30
ihex.c Use bool in bfd 2021-03-31 10:49:23 +10:30
init.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
irix-core.c ELF: Don't generate unused section symbols 2021-01-07 06:46:55 -08:00
libaout.h Use bool in bfd 2021-03-31 10:49:23 +10:30
libbfd-in.h Use bool in bfd 2021-03-31 10:49:23 +10:30
libbfd.c Use bool in bfd 2021-03-31 10:49:23 +10:30
libbfd.h Use bool in bfd 2021-03-31 10:49:23 +10:30
libcoff-in.h Use bool in bfd 2021-03-31 10:49:23 +10:30
libcoff.h Use bool in bfd 2021-03-31 10:49:23 +10:30
libecoff.h Use bool in bfd 2021-03-31 10:49:23 +10:30
libhppa.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
libpei.h Use bool in bfd 2021-03-31 10:49:23 +10:30
libxcoff.h Use bool in bfd 2021-03-31 10:49:23 +10:30
linker.c Use bool in bfd 2021-03-31 10:49:23 +10:30
lynx-core.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
mach-o-aarch64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
mach-o-arm.c Use bool in bfd 2021-03-31 10:49:23 +10:30
mach-o-i386.c Use bool in bfd 2021-03-31 10:49:23 +10:30
mach-o-target.c ELF: Don't generate unused section symbols 2021-01-07 06:46:55 -08:00
mach-o-x86-64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
mach-o.c Use bool in bfd 2021-03-31 10:49:23 +10:30
mach-o.h Use bool in bfd 2021-03-31 10:49:23 +10:30
MAINTAINERS Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
Makefile.am Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
Makefile.in Remove bfd_stdint.h 2021-03-31 10:49:23 +10:30
makefile.vms Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
mep-relocs.pl Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
merge.c Use bool in bfd 2021-03-31 10:49:23 +10:30
mmo.c Use bool in bfd 2021-03-31 10:49:23 +10:30
netbsd-core.c ELF: Don't generate unused section symbols 2021-01-07 06:46:55 -08:00
netbsd.h Use bool in bfd 2021-03-31 10:49:23 +10:30
ns32k.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ns32knetbsd.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
opncls.c Use startswith more for strncmp function calls. 2021-04-01 14:59:04 +02:00
osf-core.c Add startswith function and use it instead of CONST_STRNEQ. 2021-03-22 11:01:43 +01:00
pc532-mach.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pdp11.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pe-arm-wince.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
pe-arm.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pe-i386.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pe-mcore.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pe-sh.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pe-x86_64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pef-traceback.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
pef.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pef.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
pei-arm-wince.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
pei-arm.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pei-i386.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pei-ia64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pei-mcore.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pei-sh.c Use bool in bfd 2021-03-31 10:49:23 +10:30
pei-x86_64.c Use bool in bfd 2021-03-31 10:49:23 +10:30
peicode.h Use bool in bfd 2021-03-31 10:49:23 +10:30
peXXigen.c Use bool in bfd 2021-03-31 10:49:23 +10:30
plugin.c Use bool in bfd 2021-03-31 10:49:23 +10:30
plugin.h Use bool in bfd 2021-03-31 10:49:23 +10:30
PORTING Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ppcboot.c Use bool in bfd 2021-03-31 10:49:23 +10:30
ptrace-core.c ELF: Don't generate unused section symbols 2021-01-07 06:46:55 -08:00
README Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
reloc16.c Use bool in bfd 2021-03-31 10:49:23 +10:30
reloc.c Use bool in bfd 2021-03-31 10:49:23 +10:30
rs6000-core.c Use bool in bfd 2021-03-31 10:49:23 +10:30
sco5-core.c ELF: Don't generate unused section symbols 2021-01-07 06:46:55 -08:00
section.c Use bool in bfd 2021-03-31 10:49:23 +10:30
simple.c Use bool in bfd 2021-03-31 10:49:23 +10:30
som.c Use bool in bfd 2021-03-31 10:49:23 +10:30
som.h Use bool in bfd 2021-03-31 10:49:23 +10:30
srec.c Use bool in bfd 2021-03-31 10:49:23 +10:30
stab-syms.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
stabs.c Use bool in bfd 2021-03-31 10:49:23 +10:30
stamp-h.in
syms.c Use bool in bfd 2021-03-31 10:49:23 +10:30
sysdep.h Use bool in bfd 2021-03-31 10:49:23 +10:30
targets.c Use bool in bfd 2021-03-31 10:49:23 +10:30
targmatch.sed
tekhex.c Use bool in bfd 2021-03-31 10:49:23 +10:30
TODO Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
trad-core.c ELF: Don't generate unused section symbols 2021-01-07 06:46:55 -08:00
vax1knetbsd.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
vaxnetbsd.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
verilog.c Use bool in bfd 2021-03-31 10:49:23 +10:30
version.h Automatic date update in version.in 2021-04-01 00:00:08 +00:00
version.m4 Change version number to 2.36.50 and regenerate files 2021-01-09 11:01:01 +00:00
vms-alpha.c Use bool in bfd 2021-03-31 10:49:23 +10:30
vms-lib.c Use bool in bfd 2021-03-31 10:49:23 +10:30
vms-misc.c Use bool in bfd 2021-03-31 10:49:23 +10:30
vms.h Use bool in bfd 2021-03-31 10:49:23 +10:30
warning.m4 Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
wasm-module.c Use bool in bfd 2021-03-31 10:49:23 +10:30
wasm-module.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
xcofflink.c Use bool in bfd 2021-03-31 10:49:23 +10:30
xcofflink.h Use bool in bfd 2021-03-31 10:49:23 +10:30
xsym.c Use bool in bfd 2021-03-31 10:49:23 +10:30
xsym.h Use bool in bfd 2021-03-31 10:49:23 +10:30
xtensa-isa.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
xtensa-modules.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +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-2021 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.