* target-reloc.h (scan_relocs): Call scan.local for relocs
authorAlan Modra <amodra@gmail.com>
Wed, 12 Sep 2012 22:43:54 +0000 (22:43 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 12 Sep 2012 22:43:54 +0000 (22:43 +0000)
commitbfdfa4cd8da8b878613e3ee98c8268f8aa72983c
tree2ee2b0b7b57dafee8585b56c562cef597f3b8266
parent7c0e90d28c56dd5e0003c921d15aded77c9a639d
* target-reloc.h (scan_relocs): Call scan.local for relocs
against symbols in discarded sections.  Pass is_discarded
param.
* arm.cc, * i386.cc, * sparc.cc, * x86_64.cc (Target_*::Scan::local):
Add is_discarded param.
* powerpc (Target_powerpc::Scan::local): Likewise.  Use
is_discarded to flag opd entry as discarded.  Don't emit dyn
relocs on such entries.
(Target_powerpc::Scan::global): Similarly detect and handle
such opd entries.
(Powerpc_relobj): Replace opd_ent_shndx_ and opd_ent_off_ with
opd_ent_.  Update all uses.
(Powerpc_relobj::get_opd_discard, set_opd_discard): New functions.
(Target_powerpc::relocate_section): Zero out discarded opd
entry relocs.
gold/ChangeLog
gold/arm.cc
gold/i386.cc
gold/powerpc.cc
gold/sparc.cc
gold/target-reloc.h
gold/x86_64.cc