* powerpc.cc (Target_powerpc::iplt_): New output section.
authorAlan Modra <amodra@gmail.com>
Sat, 29 Sep 2012 10:29:05 +0000 (10:29 +0000)
committerAlan Modra <amodra@gmail.com>
Sat, 29 Sep 2012 10:29:05 +0000 (10:29 +0000)
commite5d5f5ed43cb429c703a69dd9235874c59d430fe
tree0304a317e0881d2fac9e7b451dab9fcf49ab3334
parent45814d45729f339d48925fda6cda3eb2a02609e8
* powerpc.cc (Target_powerpc::iplt_): New output section.
(Target_powerpc::iplt_section, make_iplt_section,
reloc_needs_plt_for_ifunc, make_local_ifunc_plt_entry): New functions.
(Target_powerpc::make_plt_entry): Handle ifunc syms.
Target_powerpc::plt_entry_count): Count iplt entries too.
(Output_data_plt_powerpc::Output_data_plt_powerpc): Don't create
reloc section in constructor.  New params.
(Target_powerpc::make_plt_section): Create reloc section here instead.
(Output_data_plt_powerpc::add_ifunc_entry, add_local_ifunc_entry): New
functions.
(Output_data_plt_powerpc::initial_plt_entry_size_, name_): New vars.
(Output_data_glink::add_entry, find_entry): New functions to
deal with local syms.
(Glink_sym_ent): Add support for local syms.
(Output_data_glink::do_write): Handle ifunc plt entries.
(Target_powerpc::Scan::get_reference_flags): Handle more relocs.
(Target_powerpc::Scan::local, global): Handle ifunc syms.
(Target_powerpc::Relocate::relocate): Likewise.
(Target_powerpc::do_dynsym_value): Use glink stub, not plt entry.
gold/ChangeLog
gold/powerpc.cc