aboutsummaryrefslogtreecommitdiff
path: root/elfcpp
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2021-12-11 14:52:36 +1030
committerAlan Modra <amodra@gmail.com>2021-12-11 14:52:36 +1030
commiteb97d02405c08bd0c006c8d65b3649fbfb1148e0 (patch)
tree8c220c1f9db2fbb509d2c126d6b662dbc5052c5d /elfcpp
parent40eb8b92a1c795cda00bf931ab9cdd74da434d54 (diff)
downloadbinutils-eb97d02405c08bd0c006c8d65b3649fbfb1148e0.zip
binutils-eb97d02405c08bd0c006c8d65b3649fbfb1148e0.tar.gz
binutils-eb97d02405c08bd0c006c8d65b3649fbfb1148e0.tar.bz2
[GOLD] PowerPC64 @notoc in non-power10 code
Gold version of commit 7aba54da42. elfcpp/ * powerpc.h (R_PPC64_REL24_P9NOTOC): Define. gold/ * powerpc.cc (Target_powerpc::maybe_skip_tls_get_addr_call, is_branch_reloc, max_branch_delta): Handle R_PPC64_REL24_P9NOTOC. (Target_powerpc::Branch_info::make_stub): Likewise. (struct Plt_stub_ent): Add p9notoc_, p9off_, tsize_. (struct Branch_stub_ent): Add p9notoc_, p9off_. (Stub_table::add_plt_call_entry): Handle R_PPC64_REL24_P9NOTOC. (Stub_table::add_long_branch_entry): Likewise. (Stub_table::add_eh_frame): Likewise. (Stub_table::plt_call_size): Return aligned size. Adjust callers. Handle p9notoc_ sizing. (Stub_table::do_write): Write out p9notoc_ stubs. (Target_powerpc::Scan::get_reference_flags, local, global): Handle R_PPC64_REL24_P9NOTOC. (Target_powerpc::Relocate::relocate): Likewise.
Diffstat (limited to 'elfcpp')
-rw-r--r--elfcpp/powerpc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/elfcpp/powerpc.h b/elfcpp/powerpc.h
index b17777b..3f4f79d 100644
--- a/elfcpp/powerpc.h
+++ b/elfcpp/powerpc.h
@@ -184,6 +184,7 @@ enum
R_PPC64_PLTSEQ_NOTOC = 121,
R_PPC64_PLTCALL_NOTOC = 122,
R_PPC64_PCREL_OPT = 123,
+ R_PPC64_REL24_P9NOTOC = 124,
R_PPC64_D34 = 128,
R_PPC64_D34_LO = 129,