* 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.
This commit is contained in:
Ian Lance Taylor
2009-12-29 00:31:48 +00:00
parent fa618ee47d
commit 99fff23b2e
14 changed files with 177 additions and 70 deletions

View File

@@ -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