aboutsummaryrefslogtreecommitdiff
path: root/gold/arm.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2009-12-29 00:31:48 +0000
committerIan Lance Taylor <ian@airs.com>2009-12-29 00:31:48 +0000
commit99fff23b2e6c675a1f35bf3ba853f70e2b7b4ce8 (patch)
tree92848f4ad9c4ecda89665d7abdfe31915888a7a2 /gold/arm.cc
parentfa618ee47d7276a7de1f0d783ea3b4c33ac10993 (diff)
downloadgdb-99fff23b2e6c675a1f35bf3ba853f70e2b7b4ce8.zip
gdb-99fff23b2e6c675a1f35bf3ba853f70e2b7b4ce8.tar.gz
gdb-99fff23b2e6c675a1f35bf3ba853f70e2b7b4ce8.tar.bz2
* 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.
Diffstat (limited to 'gold/arm.cc')
-rw-r--r--gold/arm.cc11
1 files changed, 7 insertions, 4 deletions
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<big_endian>::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<big_endian>::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);