From 880cd20d40938ea13ff9d5dbb9393f80cfb98b75 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sat, 9 Jan 2010 00:13:48 +0000 Subject: 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/resolve.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'gold/resolve.cc') diff --git a/gold/resolve.cc b/gold/resolve.cc index ca71264d4d..9a402f3927 100644 --- a/gold/resolve.cc +++ b/gold/resolve.cc @@ -859,9 +859,8 @@ Symbol::override_base_with_special(const Symbol* from) // We shouldn't see these flags. If we do, we need to handle them // somehow. - gold_assert(!from->is_target_special_ || this->is_target_special_); gold_assert(!from->is_forwarder_); - gold_assert(!from->has_plt_offset_); + gold_assert(!from->has_plt_offset()); gold_assert(!from->has_warning_); gold_assert(!from->is_copied_from_dynobj_); gold_assert(!from->is_forced_local_); -- cgit v1.2.3