binutils-gdb/bfd
Alan Modra 7aba54da42 PowerPC64 @notoc in non-power10 code
R_PPC64_REL24_P9NOTOC is a variant of R_PPC64_REL24_NOTOC for use on
@notoc cals from non-power10 code in the rare case that using such a
construct is useful.  R_PPC64_REL24_P9NOTOC will be emitted by gas
rather than R_PPC64_REL24_NOTOC when @notoc is used in a branch
instruction if power10 instructions are not enabled at that point.
The new relocation tells the linker to not use power10 instructions on
any stub emitted for that branch, unless overridden by
--power10-stubs=yes.

The current linker heuristic of only generating power10 instructions
for stubs if power10-only relocations are detected, continues to be
used.

include/
	* elf/ppc64.h (R_PPC64_REL24_P9NOTOC): Define.
bfd/
	* reloc.c (BFD_RELOC_PPC64_REL24_P9NOTOC): Define.
	* elf64-ppc.c (ppc64_elf_howto_raw): Add entry for new reloc.
	(ppc64_elf_reloc_type_lookup): Handle it.
	(enum ppc_stub_type): Delete.
	(enum ppc_stub_main_type, ppc_stub_sub_type): New.
	(struct ppc_stub_type): New.
	(struct ppc_stub_hash_entry): Use the above new type.
	(struct ppc_link_hash_table): Update stub_count.
	(is_branch_reloc, ppc64_elf_check_relocs),
	(toc_adjusting_stub_needed): Handle new reloc.
	(stub_hash_newfunc, select_alt_stub, ppc_merge_stub),
	(ppc_type_of_stub, plt_stub_size, build_plt_stub),
	(build_tls_get_addr_head, build_tls_get_addr_tail),
	(ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_size_stubs),
	(ppc64_elf_build_stubs, ppc64_elf_relocate_section): Handle new
	reloc.  Modify stub handling to suit new scheme.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
gas/
	* config/tc-ppc.c (ppc_elf_suffix): When power10 is not enabled
	return BFD_RELOC_PPC64_REL24_P9NOTOC for @notoc.
	(fixup_size, ppc_force_relocation, ppc_fix_adjustable): Handle
	BFD_RELOC_PPC64_REL24_P9NOTOC.
ld/
	* testsuite/ld-powerpc/callstub-2.s: Add .machine power10.
2021-11-15 12:20:13 +10:30
..
doc
hosts
po LoongArch bfd support 2021-10-24 21:36:31 +10:30
.gitignore
acinclude.m4
aclocal.m4
aix5ppc-core.c
aix386-core.c
aout32.c
aout64.c
aout-cris.c
aout-ns32k.c PR28403, null pointer dereference in disassemble_bytes 2021-10-06 11:24:29 +10:30
aout-target.h
aoutx.h bfd: remove use of INLINE 2021-10-28 13:24:37 +10:30
arc-got.h arc: Fix potential invalid pointer access when fixing got symbols. 2021-09-14 12:10:54 +03:00
arc-plt.def
arc-plt.h
archive64.c
archive.c Fix a potential illegal memory access when testing for a special LTO symbol name. 2021-10-19 16:02:49 +01:00
archures.c arm: add armv9-a architecture to -march 2021-11-01 10:51:03 +00:00
bfd-in2.h PowerPC64 @notoc in non-power10 code 2021-11-15 12:20:13 +10:30
bfd-in.h bfd: remove use of INLINE 2021-10-28 13:24:37 +10:30
bfd.c
bfd.m4
bfdio.c
bfdwin.c
binary.c
cache.c
cf-i386lynx.c
ChangeLog Fix a potential illegal memory access when testing for a special LTO symbol name. 2021-10-19 16:02:49 +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-2019
ChangeLog-2020
ChangeLog-9193
ChangeLog-9495
ChangeLog-9697
ChangeLog-9899
cisco-core.c
coff64-rs6000.c PR 28447: implement multiple parameters for .file on XCOFF 2021-11-10 14:43:24 +10:30
coff-alpha.c
coff-arm.c
coff-arm.h
coff-bfd.c
coff-bfd.h
coff-go32.c
coff-i386.c
coff-ia64.c
coff-mcore.c
coff-mips.c PR28420, ecoff fuzzing failures 2021-10-06 18:00:00 +10:30
coff-rs6000.c PR 28447: implement multiple parameters for .file on XCOFF 2021-11-10 14:43:24 +10:30
coff-sh.c
coff-stgo32.c
coff-tic4x.c
coff-tic30.c
coff-tic54x.c asan: c4x, c54x coff_canonicalize_reloc buffer overflow 2021-10-24 22:05:51 +10:30
coff-x86_64.c Don't include coff/pe.h in coff-x86_64.c 2021-10-31 11:42:52 +10:30
coff-z8k.c
coff-z80.c
coffcode.h PR 28447: implement multiple parameters for .file on XCOFF 2021-11-10 14:43:24 +10:30
coffgen.c PR 28447: implement multiple parameters for .file on XCOFF 2021-11-10 14:43:24 +10:30
cofflink.c PR 28447: implement multiple parameters for .file on XCOFF 2021-11-10 14:43:24 +10:30
coffswap.h PR 28447: implement multiple parameters for .file on XCOFF 2021-11-10 14:43:24 +10:30
compress.c PR28530, Hang in objdump on machine with 196GB RAM 2021-11-05 14:15:18 +10:30
config.bfd LoongArch bfd support 2021-10-24 21:36:31 +10:30
config.in
configure LoongArch bfd support 2021-10-24 21:36:31 +10:30
configure.ac LoongArch bfd support 2021-10-24 21:36:31 +10:30
configure.com
configure.host
COPYING
corefile.c
cpu-aarch64.c
cpu-aarch64.h
cpu-alpha.c
cpu-arc.c
cpu-arm.c arm: enable Cortex-A710 CPU 2021-11-10 14:09:05 +00:00
cpu-arm.h
cpu-avr.c
cpu-bfin.c
cpu-bpf.c
cpu-cr16.c
cpu-cris.c
cpu-crx.c
cpu-csky.c
cpu-d10v.c
cpu-d30v.c
cpu-dlx.c
cpu-epiphany.c
cpu-fr30.c
cpu-frv.c
cpu-ft32.c [bfd] Ensure unique printable names for bfd archs 2021-09-15 10:10:46 +02:00
cpu-h8300.c
cpu-h8300.h
cpu-hppa.c
cpu-i386.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-loongarch.c LoongArch bfd support 2021-10-24 21:36:31 +10:30
cpu-m9s12x.c
cpu-m9s12xg.c
cpu-m32c.c
cpu-m32r.c
cpu-m68hc11.c
cpu-m68hc12.c
cpu-m68k.c
cpu-m68k.h
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 [bfd] Ensure unique printable names for bfd archs 2021-09-15 10:10:46 +02:00
cpu-nfp.c
cpu-nios2.c
cpu-ns32k.c
cpu-or1k.c
cpu-pdp11.c
cpu-pj.c
cpu-powerpc.c
cpu-pru.c
cpu-riscv.c
cpu-riscv.h
cpu-rl78.c
cpu-rs6000.c
cpu-rx.c [bfd] Ensure unique printable names for bfd archs 2021-09-15 10:10:46 +02:00
cpu-s12z.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-tilegx.c
cpu-tilepro.c
cpu-v850_rh850.c
cpu-v850.c
cpu-vax.c
cpu-visium.c
cpu-wasm32.c
cpu-xc16x.c
cpu-xgate.c
cpu-xstormy16.c
cpu-xtensa.c
cpu-z8k.c
cpu-z80.c
dep-in.sed
development.sh
dwarf1.c
dwarf2.c
ecoff-bfd.h
ecoff.c Re: PR28420, ecoff fuzzing failures 2021-10-31 11:42:08 +10:30
ecofflink.c
ecoffswap.h
elf32-am33lin.c
elf32-arc.c
elf32-arm.c arm: add armv9-a architecture to -march 2021-11-01 10:51:03 +00:00
elf32-arm.h
elf32-avr.c
elf32-avr.h
elf32-bfin.c
elf32-bfin.h
elf32-cr16.c
elf32-cr16.h
elf32-cris.c
elf32-crx.c
elf32-csky.c
elf32-csky.h
elf32-d10v.c
elf32-d30v.c
elf32-dlx.c
elf32-dlx.h
elf32-epiphany.c
elf32-fr30.c
elf32-frv.c
elf32-ft32.c
elf32-gen.c
elf32-h8300.c
elf32-hppa.c
elf32-hppa.h
elf32-i386.c
elf32-ip2k.c
elf32-iq2000.c
elf32-lm32.c
elf32-m32c.c
elf32-m32r.c
elf32-m68hc1x.c
elf32-m68hc1x.h
elf32-m68hc11.c
elf32-m68hc12.c
elf32-m68k.c
elf32-m68k.h
elf32-mcore.c
elf32-mep.c
elf32-metag.c
elf32-metag.h
elf32-microblaze.c
elf32-mips.c
elf32-moxie.c
elf32-msp430.c
elf32-mt.c
elf32-nds32.c
elf32-nds32.h
elf32-nios2.c
elf32-nios2.h
elf32-or1k.c
elf32-pj.c
elf32-ppc.c PowerPC, sanity check r_offset in relocate_section 2021-09-10 18:04:18 +09:30
elf32-ppc.h
elf32-pru.c
elf32-rl78.c
elf32-rx.c
elf32-rx.h
elf32-s12z.c
elf32-s390.c
elf32-score7.c bfd: remove use of INLINE 2021-10-28 13:24:37 +10:30
elf32-score.c
elf32-score.h
elf32-sh-relocs.h
elf32-sh.c
elf32-sparc.c
elf32-spu.c
elf32-spu.h
elf32-tic6x.c
elf32-tic6x.h
elf32-tilegx.c
elf32-tilegx.h
elf32-tilepro.c
elf32-tilepro.h
elf32-v850.c
elf32-v850.h
elf32-vax.c
elf32-visium.c
elf32-wasm32.c
elf32-xc16x.c
elf32-xgate.c
elf32-xstormy16.c
elf32-xtensa.c PR28415, invalid read in xtensa_read_table_entries 2021-10-09 14:02:07 +10:30
elf32-z80.c
elf32.c
elf64-alpha.c
elf64-bpf.c
elf64-gen.c
elf64-hppa.c
elf64-hppa.h
elf64-ia64-vms.c
elf64-mips.c
elf64-mmix.c
elf64-nfp.c
elf64-ppc.c PowerPC64 @notoc in non-power10 code 2021-11-15 12:20:13 +10:30
elf64-ppc.h
elf64-s390.c
elf64-sparc.c
elf64-tilegx.c
elf64-tilegx.h
elf64-x86-64.c
elf64.c
elf-attrs.c
elf-bfd.h LoongArch bfd support 2021-10-24 21:36:31 +10:30
elf-eh-frame.c bfd: remove use of INLINE 2021-10-28 13:24:37 +10:30
elf-hppa.h
elf-ifunc.c
elf-linker-x86.h
elf-linux-core.h
elf-m10200.c
elf-m10300.c
elf-nacl.c
elf-nacl.h
elf-properties.c
elf-s390-common.c
elf-s390.h
elf-strtab.c
elf-vxworks.c
elf-vxworks.h
elf.c readelf: Support RELR in -S and -d and output 2021-11-06 17:11:08 +10:30
elfcode.h ELF core file size checks 2021-10-29 17:22:32 +10:30
elfcore.h ELF core file size checks 2021-10-29 17:22:32 +10:30
elflink.c elf: Don't set version info on unversioned symbols 2021-09-19 07:19:39 -07:00
elfn32-mips.c
elfnn-aarch64.c
elfnn-ia64.c
elfnn-loongarch.c LoongArch bfd support 2021-10-24 21:36:31 +10:30
elfnn-riscv.c RISC-V: Dump objects according to the elf architecture attribute. 2021-11-11 16:59:13 +08:00
elfxx-aarch64.c
elfxx-aarch64.h
elfxx-ia64.c
elfxx-ia64.h
elfxx-loongarch.c LoongArch bfd support 2021-10-24 21:36:31 +10:30
elfxx-loongarch.h LoongArch bfd support 2021-10-24 21:36:31 +10:30
elfxx-mips.c bfd: remove use of INLINE 2021-10-28 13:24:37 +10:30
elfxx-mips.h
elfxx-riscv.c RISC-V: Dump objects according to the elf architecture attribute. 2021-11-11 16:59:13 +08:00
elfxx-riscv.h RISC-V: Dump objects according to the elf architecture attribute. 2021-11-11 16:59:13 +08:00
elfxx-sparc.c
elfxx-sparc.h
elfxx-target.h
elfxx-tilegx.c
elfxx-tilegx.h
elfxx-x86.c
elfxx-x86.h
format.c PR28422, build_id use-after-free 2021-10-07 14:23:14 +10:30
gen-aout.c
genlink.h
go32stub.h
hash.c
host-aout.c
hppabsd-core.c
hpux-core.c
i386aout.c
i386bsd.c
i386lynx.c PR28403, null pointer dereference in disassemble_bytes 2021-10-06 11:24:29 +10:30
i386msdos.c
ihex.c bfd: remove use of INLINE 2021-10-28 13:24:37 +10:30
init.c
irix-core.c
libaout.h
libbfd-in.h
libbfd.c
libbfd.h PowerPC64 @notoc in non-power10 code 2021-11-15 12:20:13 +10:30
libcoff-in.h
libcoff.h PR 28447: implement multiple parameters for .file on XCOFF 2021-11-10 14:43:24 +10:30
libecoff.h
libhppa.h
libpei.h
libxcoff.h
linker.c Fix a potential illegal memory access when testing for a special LTO symbol name. 2021-10-19 16:02:49 +01:00
lynx-core.c
mach-o-aarch64.c
mach-o-arm.c asan: arm-darwin: buffer overflow 2021-10-24 21:45:23 +10:30
mach-o-i386.c
mach-o-target.c
mach-o-x86-64.c
mach-o.c ubsan: undefined shift in mach-o.c 2021-11-06 21:15:49 +10:30
mach-o.h
MAINTAINERS
Makefile.am LoongArch bfd support 2021-10-24 21:36:31 +10:30
Makefile.in LoongArch bfd support 2021-10-24 21:36:31 +10:30
makefile.vms
mep-relocs.pl
merge.c
mmo.c asan: mmo: NULL dereferenc in mmo_xore_32 2021-10-28 13:25:57 +10:30
netbsd-core.c
netbsd.h
ns32k.h
ns32knetbsd.c
opncls.c
osf-core.c
pc532-mach.c
pdp11.c asan: aout: heap buffer overflow 2021-10-24 21:36:32 +10:30
pe-arm-wince.c
pe-arm.c
pe-i386.c
pe-mcore.c
pe-sh.c
pe-x86_64.c Don't include coff/pe.h in coff-x86_64.c 2021-10-31 11:42:52 +10:30
pef-traceback.h
pef.c
pef.h
pei-arm-wince.c
pei-arm.c
pei-i386.c
pei-ia64.c
pei-mcore.c
pei-sh.c
pei-x86_64.c
peicode.h bfd: Remove use of void pointer arithmetic 2021-10-11 19:13:41 +10:30
peXXigen.c PR 28447: implement multiple parameters for .file on XCOFF 2021-11-10 14:43:24 +10:30
plugin.c
plugin.h
PORTING
ppcboot.c
ptrace-core.c
README
reloc16.c
reloc.c PowerPC64 @notoc in non-power10 code 2021-11-15 12:20:13 +10:30
rs6000-core.c
sco5-core.c
section.c
simple.c
som.c
som.h
srec.c
stab-syms.c
stabs.c
stamp-h.in
syms.c
sysdep.h
targets.c LoongArch bfd support 2021-10-24 21:36:31 +10:30
targmatch.sed
tekhex.c
TODO
trad-core.c
vax1knetbsd.c
vaxnetbsd.c
verilog.c
version.h Automatic date update in version.in 2021-11-15 00:00:22 +00:00
version.m4
vms-alpha.c asan: alpha-vms: objdump buffer overflows 2021-11-05 14:15:18 +10:30
vms-lib.c
vms-misc.c
vms.h
warning.m4
wasm-module.c
wasm-module.h
xcofflink.c PR 28447: implement multiple parameters for .file on XCOFF 2021-11-10 14:43:24 +10:30
xcofflink.h
xsym.c
xsym.h
xtensa-isa.c Fix an illegal memory access triggered by an atempt to disassemble a corrupt xtensa binary. 2021-09-07 11:47:08 +01:00
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-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.