binutils-gdb/bfd
Tamar Christina 739b5c9c77 AArch64: Implement choice between Cortex-A53 erratum workarounds. (PR ld/24373)
The Cortex-A53 erratum currently has two ways it can resolve the erratum when
using the flag --fix-cortex-a53-843419:

1) If the address is within the range of an ADR instruction it rewrites the ADRP
   into an ADR, and those doesn't need the use of a veneer.

2) If the address is not within range, it adds a branch to a veneer which will
   execute the final bit of the erratum workaround and branch back to the call
   site.

When we do this we always generate the veneers and we always align the size of
the text section to 4KB.  This is because we only know which workaround we can
use after all linking has finished and all addresses are known.  This means even
though the veneers are not used, we still generate the section and we still
change the size of the input section.

This is problematic for small memory devices as this would require the user to
take about a ~4KB hit in memory even though it's not even used.

Since there's no real way to restart the linking process from the final write
phase this patch solves the issue by allowing the user more control over which
erratum workaround gets used.

Concretely this changes the option --fix-cortex-a53-843419 to take optional
arguments --fix-cortex-a53-843419[=full|adr|adrp]

- full (default): Use both ADRP and ADR workaround. This is equivalent to not
		  specifying any options and is the default behavior before this
		  patch.

- adr: Only use the ADR workaround, this will not cause any increase in binary
       size but linking will fail if the referenced address is out of range of
       an ADR instruction.

- adrp: Use only the ADRP workaround, this will never rewrite your ADRP.

In the cases where the user knows how big their binaries are the `adr` option
would prevent the unneeded overhead.

bfd/ChangeLog:

	PR ld/24373
	* bfd-in.h (enum erratum_84319_opts): New
	(bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
	int to enum erratum_84319_opts.
	* bfd-in2.h: Regenerate.
	* elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
	fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
	(_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
	(aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
	(_bfd_aarch64_resize_stubs): Amend comment.
	(elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
	requested.
	(bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
	(_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
	erratum workaround.
	(clear_erratum_843419_entry): Update erratum conditional.

ld/ChangeLog:

	PR ld/24373
	* emultempl/aarch64elf.em (PARSE_AND_LIST_LONGOPTS): Add optional args
	to flags.
	* NEWS: Add changes to flag.
	(PARSE_AND_LIST_OPTIONS): Update help descriptions.
	(PARSE_AND_LIST_ARGS_CASES): Add new options to parser.
	* testsuite/ld-aarch64/aarch64-elf.exp: Add new run_dump_tests.
	* testsuite/ld-aarch64/erratum843419-adr.d: New test.
	* testsuite/ld-aarch64/erratum843419-adrp.d: New test.
	* testsuite/ld-aarch64/erratum843419-far-adr.d: New test.
	* testsuite/ld-aarch64/erratum843419-far-full.d: New test.
	* testsuite/ld-aarch64/erratum843419-far.s: New test.
	* testsuite/ld-aarch64/erratum843419-full.d: New test.
	* testsuite/ld-aarch64/erratum843419-near.s: New test.
	* testsuite/ld-aarch64/erratum843419-no-args.d: New test.
2019-05-21 13:05:22 +01:00
..
doc PR24427, bfd/doc/chew.c reads uninitialized memory and subtracts from function pointer 2019-04-10 18:30:29 +09:30
hosts Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
po Updated translations for various binutils subdirectories. 2019-05-20 16:18:19 +01:00
.gitignore
acinclude.m4 Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
aclocal.m4 Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
aix5ppc-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
aix386-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
aout-cris.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
aout-ns32k.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
aout-target.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
aout-tic30.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
aout32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
aout64.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
aoutx.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
arc-got.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
arc-plt.def Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
arc-plt.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
archive.c PR24236, Heap buffer overflow in _bfd_archive_64_bit_slurp_armap 2019-02-20 11:50:07 +10:30
archive64.c PR24236, Heap buffer overflow in _bfd_archive_64_bit_slurp_armap 2019-02-20 11:50:07 +10:30
archures.c [binutils, ARM, 1/16] Add support for Armv8.1-M Mainline CLI 2019-04-15 10:54:42 +01:00
bfd-in.h AArch64: Implement choice between Cortex-A53 erratum workarounds. (PR ld/24373) 2019-05-21 13:05:22 +01:00
bfd-in2.h AArch64: Implement choice between Cortex-A53 erratum workarounds. (PR ld/24373) 2019-05-21 13:05:22 +01:00
bfd.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
bfd.m4 Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
bfdio.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
bfdwin.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
binary.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cache.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cf-i386lynx.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ChangeLog AArch64: Implement choice between Cortex-A53 erratum workarounds. (PR ld/24373) 2019-05-21 13:05:22 +01: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-2016
ChangeLog-2017
ChangeLog-2018 ChangeLog rotation 2019-01-01 21:25:40 +10:30
ChangeLog-9193
ChangeLog-9495
ChangeLog-9697
ChangeLog-9899
cisco-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-alpha.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-arm.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-bfd.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-bfd.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-go32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-i386.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
coff-ia64.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-mcore.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-mips.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-ppc.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-rs6000.c PR24061, powerpc-ibm-aix-ar sets bogus file permissions when extracting 2019-01-04 12:23:56 +10:30
coff-sh.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-stgo32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-tic4x.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-tic30.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-tic54x.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-tic80.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-x86_64.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
coff-z8k.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff-z80.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
coff64-rs6000.c PR24061, powerpc-ibm-aix-ar sets bogus file permissions when extracting 2019-01-04 12:23:56 +10:30
coffcode.h Treat the .gnu.debuglink and .gnu.debugaltlink sections as debug sections when reading them in from COFF/PE format files. 2019-05-02 15:11:39 +01:00
coffgen.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
cofflink.c COFF: Check for symbols defined in discarded section 2019-03-15 22:19:20 +08:00
coffswap.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
compress.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
config.bfd x86: Remove i386-*-kaos* and i386-*-chaos targets 2019-04-08 11:58:51 -07:00
config.in elf32-nds32: Don't define fls if it is provided by the system 2018-09-21 10:27:30 -04:00
configure Fix x86_64-rdos build fail 2019-04-08 14:11:57 +09:30
configure.ac Fix x86_64-rdos build fail 2019-04-08 14:11:57 +09:30
configure.com Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
configure.host Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
COPYING
corefile.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-aarch64.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-alpha.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-arc.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-arm.c [binutils, ARM, 1/16] Add support for Armv8.1-M Mainline CLI 2019-04-15 10:54:42 +01:00
cpu-avr.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-bfin.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-cr16.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-cr16c.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-cris.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-crx.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-csky.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-d10v.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-d30v.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-dlx.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-epiphany.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-fr30.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-frv.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-ft32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-h8300.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-hppa.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-i386.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-ia64-opc.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-ia64.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-iamcu.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-ip2k.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-iq2000.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-k1om.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-l1om.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-lm32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-m9s12x.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-m9s12xg.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-m32c.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-m32r.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-m68hc11.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-m68hc12.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-m68k.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-m10200.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-m10300.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-mcore.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-mep.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-metag.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-microblaze.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-mips.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-mmix.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-moxie.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-msp430.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-mt.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-nds32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-nfp.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-nios2.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-ns32k.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-or1k.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-pdp11.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-pj.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-plugin.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-powerpc.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-pru.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-riscv.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-rl78.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-rs6000.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-rx.c RX: bfd - Add RXv3 support. 2019-01-05 22:52:53 +09:00
cpu-s12z.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-s390.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-score.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-sh.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-sparc.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-spu.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-tic4x.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-tic6x.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-tic30.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-tic54x.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-tic80.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-tilegx.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-tilepro.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-v850.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-v850_rh850.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-vax.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-visium.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-wasm32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-xc16x.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-xgate.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-xstormy16.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-xtensa.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-z8k.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cpu-z80.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
dep-in.sed
development.sh Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
dwarf1.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
dwarf2.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
ecoff.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ecofflink.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ecoffswap.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-attrs.c Don't emit vendor attribute section if there is no attribute to emit. 2019-01-16 13:37:35 -08:00
elf-bfd.h [BFD, AArch64, x86] Improve warning for --force-bti 2019-03-21 16:20:21 +00:00
elf-eh-frame.c Binutils: Always skip only 1 byte for CIE version 1's return address register. 2019-03-01 11:38:22 +00:00
elf-hppa.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-ifunc.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-linker-x86.h x86: Add -z cet-report=[none|warning|error] 2019-04-11 08:21:30 -07:00
elf-linux-core.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-m10200.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
elf-m10300.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf-nacl.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-nacl.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-properties.c [BFD, AArch64, x86] Improve warning for --force-bti 2019-03-21 16:20:21 +00:00
elf-s390-common.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-s390.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-strtab.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-vxworks.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-vxworks.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
elf32-am33lin.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-arc.c [ARC] don't force _init/_fini as DT_INIT/DT_FINI. 2019-02-09 11:07:42 +01:00
elf32-arm.c [PATCH 1/57][Arm][GAS]: Add support for +mve and +mve.fp 2019-05-16 16:17:21 +01:00
elf32-avr.c Fix PR 24571 - Relaxation does not shorten jmp or call to target at pc-relative range boundary 2019-05-21 12:48:06 +05:30
elf32-avr.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-bfin.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-cr16.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-cr16c.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-cris.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-crx.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-csky.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-d10v.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-d30v.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-dlx.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-dlx.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-epiphany.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-fr30.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-frv.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-ft32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-gen.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-h8300.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-hppa.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-hppa.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-i386.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-ip2k.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-iq2000.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-lm32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-m32c.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-m32r.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-m68hc1x.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-m68hc1x.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-m68hc11.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-m68hc12.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-m68k.c Do not force the m68k-elf linker to fail if it encoutners a non-ELF format file. 2019-05-08 14:51:32 +01:00
elf32-mcore.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-mep.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-metag.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-metag.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-microblaze.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
elf32-mips.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-moxie.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-msp430.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-mt.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-nds32.c Fix spelling mistakes in BFD library. 2019-01-21 12:39:24 +00:00
elf32-nds32.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-nios2.c Check asprintf return value 2019-02-20 18:54:41 +10:30
elf32-nios2.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-or1k.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-pj.c PicoJava weak undefined symbols 2019-05-06 11:41:28 +09:30
elf32-ppc.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-ppc.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-pru.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
elf32-rl78.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-rx.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
elf32-rx.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-s12z.c s12z and h8300 no-print-map-discarded fails 2019-04-19 12:41:58 +09:30
elf32-s390.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-score.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-score.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-score7.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-sh-relocs.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-sh.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-sparc.c SPARC: fix PR ld/18841 2019-02-07 17:04:31 +01:00
elf32-spu.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-spu.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-tic6x.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-tic6x.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-tilegx.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-tilegx.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-tilepro.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-tilepro.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-v850.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-vax.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-visium.c Visium: fix bogus overflow check on 32-bit hosts 2019-02-07 17:02:24 +01:00
elf32-wasm32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-xc16x.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf32-xgate.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
elf32-xstormy16.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32-xtensa.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf32.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-alpha.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-gen.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-hppa.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-hppa.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-ia64-vms.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-mips.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-mmix.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf64-nfp.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-ppc.c PowerPC64 GOT indirect to GOT relative optimisation 2019-04-30 22:09:54 +09:30
elf64-ppc.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-s390.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elf64-sparc.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
elf64-tilegx.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-tilegx.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf64-x86-64.c x86: Suggest -fPIE when not building shared object 2019-04-17 10:25:28 -07:00
elf64.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elfcode.h Don't use bfd_get_file_size in objdump 2019-03-12 23:54:09 +10:30
elfcore.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elflink.c Don't complain undefined weak dynamic reference 2019-04-26 07:52:09 -07:00
elfn32-mips.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elfnn-aarch64.c AArch64: Implement choice between Cortex-A53 erratum workarounds. (PR ld/24373) 2019-05-21 13:05:22 +01:00
elfnn-ia64.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
elfnn-riscv.c RISC-V: Enable 32-bit linux gdb core file support. 2019-04-22 14:17:55 -07:00
elfxx-aarch64.c [BFD, AArch64, x86] Improve warning for --force-bti 2019-03-21 16:20:21 +00:00
elfxx-aarch64.h [BFD, AArch64] Define elf_backend_fixup_gnu_properties in AArch64 2019-03-20 18:00:07 +00:00
elfxx-ia64.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elfxx-ia64.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elfxx-mips.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elfxx-mips.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elfxx-riscv.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
elfxx-riscv.h RISC-V: Support ELF attribute for gas and readelf. 2019-01-16 13:14:59 -08:00
elfxx-sparc.c Check corrupt VTENTRY entry in bfd_elf_gc_record_vtentry 2019-04-11 06:45:05 -07:00
elfxx-sparc.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elfxx-target.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elfxx-tilegx.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elfxx-tilegx.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elfxx-x86.c x86: Suggest -fPIE when not building shared object 2019-04-17 10:25:28 -07:00
elfxx-x86.h x86: Also check x86 linker_def for non-shared definition 2019-04-17 09:08:46 -07:00
format.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
gen-aout.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
genlink.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
go32stub.h
hash.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
host-aout.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
hppabsd-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
hpux-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
i386aout.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
i386bsd.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
i386lynx.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
i386msdos.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ihex.c PR24065, 32-bit objcopy fails with 64-bit address ... out of range 2019-01-08 22:25:09 +10:30
init.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
irix-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
libaout.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
libbfd-in.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
libbfd.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
libbfd.h PowerPC reloc symbols that shouldn't be adjusted 2019-05-06 11:41:28 +09:30
libcoff-in.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
libcoff.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
libecoff.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
libhppa.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
libpei.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
libxcoff.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
linker.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
lynx-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mach-o-aarch64.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mach-o-arm.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mach-o-i386.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mach-o-target.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mach-o-x86-64.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mach-o.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
mach-o.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
MAINTAINERS Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
Makefile.am Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
Makefile.in Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
makefile.vms Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mep-relocs.pl Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
merge.c PR24311, FAIL: S-records with constructors 2019-03-08 23:28:34 +10:30
mmo.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
netbsd-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
netbsd.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ns32k.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ns32knetbsd.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
opncls.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
osf-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pc532-mach.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pdp11.c Don't use bfd_get_file_size in objdump 2019-03-12 23:54:09 +10:30
pe-arm-wince.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pe-arm.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pe-i386.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pe-mcore.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pe-ppc.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pe-sh.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pe-x86_64.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
pef-traceback.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pef.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pef.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pei-arm-wince.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pei-arm.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pei-i386.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pei-ia64.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pei-mcore.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pei-ppc.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pei-sh.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pei-x86_64.c BFD whitespace fixes 2019-04-03 12:50:39 +10:30
peicode.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
peXXigen.c PR24272, out-of-bounds read in pex64_xdata_print_uwd_codes 2019-03-01 13:30:38 +10:30
plugin.c PR24511, nm should not mark symbols in .init_array as "t" 2019-05-04 16:57:33 +09:30
plugin.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
PORTING Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ppcboot.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ptrace-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
README Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
reloc.c PowerPC reloc symbols that shouldn't be adjusted 2019-05-06 11:41:28 +09:30
reloc16.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
rs6000-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
sco5-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
section.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
simple.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
som.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
som.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
srec.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
stab-syms.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
stabs.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
stamp-h.in
syms.c PR24511, nm should not mark symbols in .init_array as "t" 2019-05-04 16:57:33 +09:30
sysdep.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
targets.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
targmatch.sed
tekhex.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
TODO Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
trad-core.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vax1knetbsd.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vaxnetbsd.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
verilog.c Add new option to objcopy: --verilog-data-width. Use this option to set the size of byte bundles generated in verilog format files. 2019-05-14 10:42:25 +01:00
version.h Automatic date update in version.in 2019-05-21 00:00:28 +00:00
version.m4 Change version to 2.32.51 and regenerate configure and pot files. 2019-01-19 16:51:42 +00:00
vms-alpha.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vms-lib.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vms-misc.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vms.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
warning.m4 Adjust bfd/warning.m4 egrep patterns 2019-01-09 13:51:08 +10:30
wasm-module.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
wasm-module.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xcofflink.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xsym.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xsym.h Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xtensa-isa.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xtensa-modules.c Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +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-2019 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.