binutils-gdb/ld/testsuite/ld-powerpc
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
..
addpcis.d
addpcis.s
aix52.exp Rework the R_NEG support on both gas and ld for the PowerPC AIX targets, in order to manage C++ exceptions built with GCC. 2021-04-20 14:40:43 +01:00
aix-abs-branch-1-32.nd
aix-abs-branch-1-64.nd
aix-abs-branch-1.dd
aix-abs-branch-1.ex
aix-abs-branch-1.im
aix-abs-branch-1.s
aix-abs-reloc-1-32.nd
aix-abs-reloc-1-32.od
aix-abs-reloc-1-64.nd
aix-abs-reloc-1-64.od
aix-abs-reloc-1.ex
aix-abs-reloc-1.im
aix-abs-reloc-1.s
aix-core-sec-1.ex
aix-core-sec-1.hd
aix-core-sec-1.s
aix-core-sec-2.ex
aix-core-sec-2.hd
aix-core-sec-2.s
aix-core-sec-3.ex
aix-core-sec-3.hd
aix-core-sec-3.s
aix-export-1-all-32.dd
aix-export-1-all-64.dd
aix-export-1-full-32.dd
aix-export-1-full-64.dd
aix-export-1a.s
aix-export-1b.s
aix-export-2-32.nd
aix-export-2-64.nd
aix-export-2.s
aix-gc-1-32.dd
aix-gc-1-32.nd
aix-gc-1-64.dd
aix-gc-1-64.nd
aix-gc-1.ex
aix-gc-1.s
aix-glink-1-32.d
aix-glink-1-32.dd
aix-glink-1-64.d
aix-glink-1-64.dd
aix-glink-1.ex
aix-glink-1.s
aix-glink-2-32.dd
aix-glink-2-64.dd
aix-glink-2a.ex
aix-glink-2a.s
aix-glink-2b.s
aix-glink-2c.ex
aix-glink-2c.s
aix-glink-2d.s
aix-glink-3-32.d
aix-glink-3-32.dd
aix-glink-3-64.d
aix-glink-3-64.dd
aix-glink-3.s
aix-glink-3a.s
aix-glink-3b.s
aix-largetoc-1-32.d aix: implement R_TOCU and R_TOCL relocations 2021-03-12 22:47:23 +10:30
aix-largetoc-1-64.d aix: implement R_TOCU and R_TOCL relocations 2021-03-12 22:47:23 +10:30
aix-largetoc-1.ex aix: implement R_TOCU and R_TOCL relocations 2021-03-12 22:47:23 +10:30
aix-largetoc-1.s aix: implement R_TOCU and R_TOCL relocations 2021-03-12 22:47:23 +10:30
aix-lineno-1.s
aix-lineno-1.txt
aix-lineno-1a-32.dd
aix-lineno-1a-32.nd
aix-lineno-1a-64.dd
aix-lineno-1a-64.nd
aix-lineno-1b-32.dd
aix-lineno-1b-32.nd
aix-lineno-1b-64.dd
aix-lineno-1b-64.nd
aix-neg-reloc-32.d Rework the R_NEG support on both gas and ld for the PowerPC AIX targets, in order to manage C++ exceptions built with GCC. 2021-04-20 14:40:43 +01:00
aix-neg-reloc-64.d Rework the R_NEG support on both gas and ld for the PowerPC AIX targets, in order to manage C++ exceptions built with GCC. 2021-04-20 14:40:43 +01:00
aix-neg-reloc.ex Rework the R_NEG support on both gas and ld for the PowerPC AIX targets, in order to manage C++ exceptions built with GCC. 2021-04-20 14:40:43 +01:00
aix-neg-reloc.s Rework the R_NEG support on both gas and ld for the PowerPC AIX targets, in order to manage C++ exceptions built with GCC. 2021-04-20 14:40:43 +01:00
aix-no-dup-syms-1-dso-32.dnd
aix-no-dup-syms-1-dso-32.drd
aix-no-dup-syms-1-dso-32.nd
aix-no-dup-syms-1-dso-32.rd
aix-no-dup-syms-1-dso-64.dnd
aix-no-dup-syms-1-dso-64.drd
aix-no-dup-syms-1-dso-64.nd
aix-no-dup-syms-1-dso-64.rd
aix-no-dup-syms-1-rel.nd
aix-no-dup-syms-1-rel.rd
aix-no-dup-syms-1.ex
aix-no-dup-syms-1.im
aix-no-dup-syms-1a.s
aix-no-dup-syms-1b.s
aix-ref-1-32.od
aix-ref-1-64.od
aix-ref-1.s
aix-rel-1.od
aix-rel-1.s
aix-tls-reloc-32.d aix: implement TLS relocation for gas and ld 2021-03-12 22:47:33 +10:30
aix-tls-reloc-64.d aix: implement TLS relocation for gas and ld 2021-03-12 22:47:33 +10:30
aix-tls-reloc.ex aix: implement TLS relocation for gas and ld 2021-03-12 22:47:33 +10:30
aix-tls-reloc.s aix: implement TLS relocation for gas and ld 2021-03-12 22:47:33 +10:30
aix-tls-section-32.d aix: implement TLS relocation for gas and ld 2021-03-12 22:47:33 +10:30
aix-tls-section-64.d aix: implement TLS relocation for gas and ld 2021-03-12 22:47:33 +10:30
aix-tls-section.ex aix: implement TLS relocation for gas and ld 2021-03-12 22:47:33 +10:30
aix-tls-section.s aix: implement TLS relocation for gas and ld 2021-03-12 22:47:33 +10:30
aix-toc-1-32.dd
aix-toc-1-64.dd
aix-toc-1.ex
aix-toc-1a.s
aix-toc-1b.s
aix-weak-1-dso-32.dnd
aix-weak-1-dso-32.hd
aix-weak-1-dso-32.nd
aix-weak-1-dso-64.dnd
aix-weak-1-dso-64.hd
aix-weak-1-dso-64.nd
aix-weak-1-gcdso-32.dnd
aix-weak-1-gcdso-32.hd
aix-weak-1-gcdso-32.nd
aix-weak-1-gcdso-64.dnd
aix-weak-1-gcdso-64.hd
aix-weak-1-gcdso-64.nd
aix-weak-1-rel.hd
aix-weak-1-rel.nd
aix-weak-1.ex
aix-weak-1a.s
aix-weak-1b.s
aix-weak-2a-32.nd
aix-weak-2a-64.nd
aix-weak-2a.ex
aix-weak-2a.s
aix-weak-2b-32.nd
aix-weak-2b-64.nd
aix-weak-2b.s
aix-weak-2c-32.nd
aix-weak-2c-32.od
aix-weak-2c-64.nd
aix-weak-2c-64.od
aix-weak-2c.ex
aix-weak-2c.s
aix-weak-3-32.d
aix-weak-3-32.dd
aix-weak-3-64.d
aix-weak-3-64.dd
aix-weak-3a.ex
aix-weak-3a.s
aix-weak-3b.ex
aix-weak-3b.s
ambiguousv1.d
ambiguousv1b.d
ambiguousv2.d
ambiguousv2b.d
apuinfo1.s
apuinfo2.s
apuinfo-nul1.s
apuinfo-nul.rd
apuinfo-nul.s
apuinfo-vle2.s
apuinfo-vle.rd
apuinfo-vle.s
apuinfo.rd
attr-gnu-4-0.s
attr-gnu-4-1.s
attr-gnu-4-2.s
attr-gnu-4-3.s
attr-gnu-4-00.d
attr-gnu-4-01.d
attr-gnu-4-02.d
attr-gnu-4-03.d
attr-gnu-4-10.d
attr-gnu-4-11.d
attr-gnu-4-12.d
attr-gnu-4-13.d
attr-gnu-4-20.d
attr-gnu-4-21.d
attr-gnu-4-22.d
attr-gnu-4-23.d
attr-gnu-4-31.d
attr-gnu-4-32.d
attr-gnu-4-33.d
attr-gnu-8-1.s
attr-gnu-8-2.s
attr-gnu-8-3.s
attr-gnu-8-11.d
attr-gnu-8-23.d
attr-gnu-8-31.d
attr-gnu-12-1.s
attr-gnu-12-2.s
attr-gnu-12-11.d
attr-gnu-12-21.d
big.s
callstub-1.d
callstub-1.s
callstub-2.d
callstub-2.s PowerPC64 @notoc in non-power10 code 2021-11-15 12:20:13 +10:30
callstub-3.d
callstub-4.d
defsym.d
defsym.s
dotsym1.d
dotsym2.d
dotsym3.d
dotsym4.d
dotsymref.s
elfv2-2a.s
elfv2-2b.s
elfv2-2exe.d
elfv2-2so.d
elfv2.s
elfv2exe.d
elfv2so.d
empty.s PowerPC undefweak testcase 2021-05-05 10:35:31 +09:30
export-class.exp
ext.d
ext.lnk
ext.s
funref2.s
funref.s
funv1.s
funv2.s
group1.d
group1.s
group1.sym
group2.d
group2.s
group2.sym
group3.s
group3.sym
inline-1.d
inline-2.d
inline-3.d
inline-4.d
inline.s
inlinepcrel-1.d PowerPC disassembly of pcrel references 2021-04-09 16:56:43 +09:30
inlinepcrel-2.d PowerPC disassembly of pcrel references 2021-04-09 16:56:43 +09:30
inlinepcrel-3.d
inlinepcrel.s
localgot.d
localgot.s
nodotsym.s
non-contiguous-powerpc64.d
non-contiguous-powerpc.d
non-contiguous-powerpc.ld
non-contiguous-powerpc.s
notoc2.d PowerPC disassembly of pcrel references 2021-04-09 16:56:43 +09:30
notoc2.s
notoc3.d PowerPC disassembly of pcrel references 2021-04-09 16:56:43 +09:30
notoc3.s
notoc3.wf
notoc.d
notoc.s
notoc.wf
oldtlslib.s
pcrelopt.d PowerPC disassembly of pcrel references 2021-04-09 16:56:43 +09:30
pcrelopt.s
pcrelopt.sec
plt1.d
plt1.s
powerpc-32-export-class.rd
powerpc-32-export-class.xd
powerpc-64-export-class.rd
powerpc-64-export-class.xd
powerpc.exp PowerPC undefweak testcase 2021-05-05 10:35:31 +09:30
ppc476-shared2.d
ppc476-shared.d
ppc476-shared.lnk
ppc476-shared.s
pr23937.d
pr23937.s
relax.d
relax.s
relaxr.d
relaxrl.d
relbrlt.d
relbrlt.s
reloc.d
reloc.s
relocsort.d
relocsort.s
sdabase2.d
sdabase2.t
sdabase.d
sdabase.s
sdabase.t
sdadyn.d
sdadyn.s
sdalib.s
startstop.d PowerPC disassembly of pcrel references 2021-04-09 16:56:43 +09:30
startstop.r PR27451, -z start_stop_gc for powerpc64 2021-03-02 21:49:56 +10:30
startstop.s PR27451, -z start_stop_gc for powerpc64 2021-03-02 21:49:56 +10:30
startv1.s
startv2.s
symtocbase-1.s
symtocbase-2.s
symtocbase.d
tls32.d
tls32.g
tls32.s
tls32.t
tls32no.d
tls32no.g
tls.d
tls.g
tls.s
tls.t
tlsdesc2.d
tlsdesc2.wf
tlsdesc3.d
tlsdesc3.wf
tlsdesc4.d
tlsdesc4.s
tlsdesc4.wf
tlsdesc.d
tlsdesc.s
tlsdesc.wf
tlsdll_32.s
tlsdll.s
tlsdll.ver
tlsexe32.d
tlsexe32.g
tlsexe32.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsexe32.t
tlsexe32no.d
tlsexe32no.g
tlsexe32no.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsexe.d
tlsexe.g
tlsexe.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsexe.t
tlsexeno.d
tlsexeno.g
tlsexeno.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsexenors.d
tlsexenors.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsexers.d
tlsexers.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsexetoc.d
tlsexetoc.g
tlsexetoc.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsexetoc.t
tlsexetocno.d
tlsexetocno.g
tlsexetocnors.d
tlsexetocrs.d
tlsexetocrs.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsgd.d
tlsgd.s
tlsget2.d Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsget2.wf Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsget.d Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsget.s
tlsget.wf Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsie.d
tlsie.s
tlsld.d PowerPC disassembly of pcrel references 2021-04-09 16:56:43 +09:30
tlsld.s
tlsldopt32.d
tlsldopt32.s
tlsldopt.d
tlsldopt.s
tlslib32.s
tlslib.s
tlsmark32.d
tlsmark32.s
tlsmark.d
tlsmark.s
tlsno.d
tlsno.g
tlsopt1_32.d
tlsopt1_32.s
tlsopt1.d
tlsopt1.s
tlsopt2_32.d
tlsopt2_32.s
tlsopt2.d
tlsopt2.s
tlsopt3_32.d
tlsopt3_32.s
tlsopt3.d
tlsopt3.s
tlsopt4_32.d
tlsopt4_32.s
tlsopt4.d
tlsopt4.s
tlsopt5_32.d
tlsopt5_32.s
tlsopt5.d
tlsopt5.s
tlsopt5.wf
tlsopt6.d
tlsopt6.wf
tlsso32.d
tlsso32.g
tlsso32.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsso32.t
tlsso.d
tlsso.g
tlsso.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlsso.t
tlstoc.d
tlstoc.g
tlstoc.s
tlstoc.t
tlstocno.d
tlstocno.g
tlstocso.d
tlstocso.g
tlstocso.r Revert: PowerPC: Don't generate unused section symbols 2021-07-24 17:59:52 +09:30
tlstocso.t
tocnovar.d
tocnovar.s
tocopt2.d
tocopt2.out
tocopt2.s
tocopt3.d
tocopt3.s
tocopt4.d
tocopt4a.s
tocopt4b.s
tocopt5.d
tocopt5.s
tocopt6-inc.s
tocopt6.d
tocopt6a.s
tocopt6b.s
tocopt6c.s
tocopt7.d
tocopt7.out
tocopt7.s
tocopt8.d
tocopt8.s
tocopt.d
tocopt.out
tocopt.s
tocsave1.s
tocsave1a.d
tocsave1s.d
tocsave2.s
tocsave2a.d
tocsave2s.d
tocsavelib.s
tocvar.d
tocvar.s
tprel32.d
tprel.d
tprel.s
tprelbad.d
tprelbad.s
undefweak.d PowerPC undefweak testcase 2021-05-05 10:35:31 +09:30
undefweak.s PowerPC undefweak testcase 2021-05-05 10:35:31 +09:30
vle-multiseg-1.d
vle-multiseg-1.ld
vle-multiseg-2.d
vle-multiseg-2.ld
vle-multiseg-3.d
vle-multiseg-3.ld
vle-multiseg-4.d
vle-multiseg-4.ld
vle-multiseg-5.d
vle-multiseg-5.ld
vle-multiseg-6.d
vle-multiseg-6.ld
vle-multiseg-6a.s
vle-multiseg-6b.s
vle-multiseg-6c.s
vle-multiseg-6d.s
vle-multiseg.s
vle-reloc-1.d
vle-reloc-1.s
vle-reloc-2.d
vle-reloc-2.s
vle-reloc-3.d
vle-reloc-3.s
vle-reloc-def-1.s
vle-reloc-def-2.s
vle-reloc-def-3.s
vle.ld
vxworks1-lib.dd
vxworks1-lib.nd
vxworks1-lib.rd
vxworks1-lib.s
vxworks1-lib.sd
vxworks1-lib.td
vxworks1-static.d
vxworks1.dd
vxworks1.ld
vxworks1.rd
vxworks1.s
vxworks2-static.sd
vxworks2.s
vxworks2.sd
vxworks-relax-2.rd
vxworks-relax-2.s
vxworks-relax.rd
vxworks-relax.s
weak1.d PowerPC disassembly of pcrel references 2021-04-09 16:56:43 +09:30
weak1.r
weak1.s
weak1so.d PowerPC disassembly of pcrel references 2021-04-09 16:56:43 +09:30
weak1so.r