PR 11108
commit7d9b6cedb0966a34d93a2c554df03d760fb74094
authorIan Lance Taylor <ian@airs.com>
Sat, 9 Jan 2010 00:13:48 +0000 (9 00:13 +0000)
committerIan Lance Taylor <ian@airs.com>
Sat, 9 Jan 2010 00:13:48 +0000 (9 00:13 +0000)
tree6c2f27f1cb70daace839cc2f2fea90d576e757d9
parent38defcee93d70f99896029b48a15dc26a19f814b
PR 11108
* symtab.h (class Symbol): Remove fields is_target_special_ and
has_plt_offset_.  Add field is_defined_in_discarded_section_.
(Symbol::is_defined_in_discarded_section): New function.
(Symbol::set_is_defined_in_discarded_section): New function.
(Symbol::has_plt_offset): Rewrite.
(Symbol::set_plt_offset): Verify that new offset is not -1U.
* symtab.cc (Symbol::init_fields): Initialize plt_offset_ to -1U.
Don't initialize is_target_special_ or has_plt_offset_.
Initialize is_defined_in_discarded_section_.
(Symbol_table::add_from_relobj): If appropriate, set
is_defined_in_discarded_section.
* resolve.cc (Symbol::override_base_with_special): Don't test
is_target_special_.  Change has_plt_offset_ to has_plt_offset().
* target-reloc.h (relocate_section): Do special handling for
symbols defined in discarded sections for global symbols as well
as local symbols.
gold/ChangeLog
gold/resolve.cc
gold/symtab.cc
gold/symtab.h
gold/target-reloc.h