* powerpc.cc (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Make
authorAlan Modra <amodra@gmail.com>
Fri, 15 Mar 2013 08:40:49 +0000 (08:40 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 15 Mar 2013 08:40:49 +0000 (08:40 +0000)
commitb3ccdeb53f92a438c2953c4e485a5334ff775f41
tree9f30da42a6c67402883d6caad7300f0d16795d4a
parentad3d8a2f047cb50d8a18c01c1d0dad03e32df5d1
* powerpc.cc (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Make
static and public.  Add report_err param.  Return false for data refs.
(Target_powerpc::rela_dyn_section): New overloaded function.
(Target_powerpc::plt_, iplt_): Elucidate.
(Output_data_plt_powerpc::entry_count): Handle current_data_size()==0.
(Output_data_plt_powerpc::do_write): Don't write .iplt.
(Output_data_plt_powerpc::plt_entry_count): Don't add .iplt entries.
(Target_powerpc::Scan::local, global): Adjust reloc_needs_plt_for_ifunc
calls.  Put ifunc dynamic relocs in irela_dyn_section.  Only
push_branch and make_plt_entry for ifunc syms when
reloc_needs_plt_for_ifunc.
(Target_powerpc::Relocate::relocate): Don't use plt entry value
for ifunc unless reloc_needs_plt_for_ifunc.
gold/ChangeLog
gold/powerpc.cc