[GOLD] PowerPC64: Don't pretend to support multi-toc
authorAlan Modra <amodra@gmail.com>
Tue, 12 Oct 2021 09:15:13 +0000 (19:45 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 14 Oct 2021 02:38:46 +0000 (13:08 +1030)
commita19da04b3c3a01699aaf7a59b03f5f008355b23d
treecd57c5639e53115156a2a295b23aa77c98a212e3
parentcbb35b4ac6d9eb368711f40c127ffeff1921289d
[GOLD] PowerPC64: Don't pretend to support multi-toc

Code in powerpc.cc is pretending to support a per-object toc pointer
value, but powerpc gold has no real support for multi-toc.  This patch
removes the pretense, tidying quite a lot in preparation for a
followup patch.  If multi-toc is ever to be supported, don't revert
this patch but start by adding object parameter to toc_pointer() and
an object to Branch_stub_key.

* powerpc.cc (Powerpc_relobj::toc_base_offset): Delete.
(Target_powerpc::toc_pointer): New function.  Use throughout.
(Target_powerpc::got_base_offset): New function.  Use throughout..
(Output_data_got_powerpc::got_base_offset): ..in place of
this.  Delete.
(Output_data_got_powerpc::Output_data_got_powerpc): Init
header_index_ to -1u for 64-bit, and make header here.
(Output_data_got_powerpc::set_final_data_size, reserve_ent): Don't
make 64-bit header here.
(Output_data_got_powerpc::g_o_t): Return toc pointer offset in
section for 64-bit.  Use throughout.
(Stub_table): Remove toc_base_off_ from Branch_stub_key, and
object param on add_long_branch_entry and find_long_branch_entry.
Adjust all uses.
gold/powerpc.cc