diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-12-29 00:31:48 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-12-29 00:31:48 +0000 |
commit | 99fff23b2e6c675a1f35bf3ba853f70e2b7b4ce8 (patch) | |
tree | 92848f4ad9c4ecda89665d7abdfe31915888a7a2 /gold/script.h | |
parent | fa618ee47d7276a7de1f0d783ea3b4c33ac10993 (diff) | |
download | gdb-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/script.h')
-rw-r--r-- | gold/script.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/gold/script.h b/gold/script.h index 755bb79..7129565 100644 --- a/gold/script.h +++ b/gold/script.h @@ -200,10 +200,10 @@ class Version_script_info class Symbol_assignment { public: - Symbol_assignment(const char* name, size_t namelen, Expression* val, - bool provide, bool hidden) - : name_(name, namelen), val_(val), provide_(provide), hidden_(hidden), - sym_(NULL) + Symbol_assignment(const char* name, size_t namelen, bool is_defsym, + Expression* val, bool provide, bool hidden) + : name_(name, namelen), val_(val), is_defsym_(is_defsym), + provide_(provide), hidden_(hidden), sym_(NULL) { } // Add the symbol to the symbol table. @@ -246,6 +246,9 @@ class Symbol_assignment std::string name_; // Expression to assign to symbol. Expression* val_; + // True if this symbol is defined by a --defsym, false if it is + // defined in a linker script. + bool is_defsym_; // Whether the assignment should be provided (only set if there is // an undefined reference to the symbol. bool provide_; @@ -298,8 +301,8 @@ class Script_options // Add a symbol to be defined. void - add_symbol_assignment(const char* name, size_t length, Expression* value, - bool provide, bool hidden); + add_symbol_assignment(const char* name, size_t length, bool is_defsym, + Expression* value, bool provide, bool hidden); // Add an assertion. void |