summaryrefslogtreecommitdiff
path: root/gold/layout.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
commitc345ddf770bc9b30a0bed4de1b9e91f0a60a34e9 (patch)
tree8504239e083cfcf14205a7e47b6bdd30977e435e /gold/layout.cc
parentc2756fafeded2e70b5f8a2afde97e3363100f45c (diff)
downloadbinutils-redhat-c345ddf770bc9b30a0bed4de1b9e91f0a60a34e9.tar.gz
* 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/layout.cc')
-rw-r--r--gold/layout.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/gold/layout.cc b/gold/layout.cc
index 914de92cfc..17477bba03 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -1161,7 +1161,8 @@ Layout::create_initial_dynamic_sections(Symbol_table* symtab)
false, false, true);
this->dynamic_section_->set_is_relro();
- symtab->define_in_output_data("_DYNAMIC", NULL, this->dynamic_section_, 0, 0,
+ symtab->define_in_output_data("_DYNAMIC", NULL, Symbol_table::PREDEFINED,
+ this->dynamic_section_, 0, 0,
elfcpp::STT_OBJECT, elfcpp::STB_LOCAL,
elfcpp::STV_HIDDEN, 0, false, false);
@@ -1195,6 +1196,7 @@ Layout::define_section_symbols(Symbol_table* symtab)
symtab->define_in_output_data(start_name.c_str(),
NULL, // version
+ Symbol_table::PREDEFINED,
*p,
0, // value
0, // symsize
@@ -1207,6 +1209,7 @@ Layout::define_section_symbols(Symbol_table* symtab)
symtab->define_in_output_data(stop_name.c_str(),
NULL, // version
+ Symbol_table::PREDEFINED,
*p,
0, // value
0, // symsize