diff options
author | Alan Modra <amodra@gmail.com> | 2021-12-11 14:52:36 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-12-11 14:52:36 +1030 |
commit | eb97d02405c08bd0c006c8d65b3649fbfb1148e0 (patch) | |
tree | 8c220c1f9db2fbb509d2c126d6b662dbc5052c5d /elfcpp | |
parent | 40eb8b92a1c795cda00bf931ab9cdd74da434d54 (diff) | |
download | binutils-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.h | 1 |
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, |