From 99fff23b2e6c675a1f35bf3ba853f70e2b7b4ce8 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 29 Dec 2009 00:31:48 +0000 Subject: * symtab.h (class Symbol_table): Add enum Defined. * resolve.cc (Symbol_table::should_override): Add defined parameter. Change all callers. Test whether object is NULL before calling a method on it. (Symbol_table::report_resolve_problem): Add defined parameter. Change all callers. (Symbol_table::should_override_with_special): Likewise. * symtab.cc (Symbol_table::define_in_output_data): Add defined parameter. Change all callers. (Symbol_table::do_define_in_output_data): Likewise. (Symbol_table::define_in_output_segment): Likewise. (Symbol_table::do_define_in_output_segment): Likewise. (Symbol_table::define_as_constant): Likewise. (Symbol_table::do_define_as_constant): Likewise. * script.h (class Symbol_assignment): Add is_defsym parameter to constructor; change all callers. * script.cc (Script_options::add_symbol_assignment): Add is_defsym parameter. Change all callers. Add is_defsym_ field. (class Parser_closure): Add parsing_defsym parameter to constructor; change all callers. Add parsing_defsym accessor function. Add parsing_defsym_ field. --- gold/arm.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gold/arm.cc') diff --git a/gold/arm.cc b/gold/arm.cc index b02afbe..afe1bc0 100644 --- a/gold/arm.cc +++ b/gold/arm.cc @@ -2611,6 +2611,7 @@ Target_arm::got_section(Symbol_table* symtab, Layout* layout) // Define _GLOBAL_OFFSET_TABLE_ at the start of the PLT. symtab->define_in_output_data("_GLOBAL_OFFSET_TABLE_", NULL, + Symbol_table::PREDEFINED, this->got_plt_, 0, 0, elfcpp::STT_OBJECT, elfcpp::STB_LOCAL, @@ -4763,12 +4764,14 @@ Target_arm::do_finalize_sections( && !parameters->options().relocatable()) { // Create __exidx_start and __exdix_end symbols. - symtab->define_in_output_data("__exidx_start", NULL, exidx_section, - 0, 0, elfcpp::STT_OBJECT, + symtab->define_in_output_data("__exidx_start", NULL, + Symbol_table::PREDEFINED, + exidx_section, 0, 0, elfcpp::STT_OBJECT, elfcpp::STB_GLOBAL, elfcpp::STV_HIDDEN, 0, false, false); - symtab->define_in_output_data("__exidx_end", NULL, exidx_section, - 0, 0, elfcpp::STT_OBJECT, + symtab->define_in_output_data("__exidx_end", NULL, + Symbol_table::PREDEFINED, + exidx_section, 0, 0, elfcpp::STT_OBJECT, elfcpp::STB_GLOBAL, elfcpp::STV_HIDDEN, 0, true, false); -- cgit v1.1