aboutsummaryrefslogtreecommitdiff
path: root/gold/symtab.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2010-08-02 13:34:33 +0000
committerIan Lance Taylor <ian@airs.com>2010-08-02 13:34:33 +0000
commit88a4108bde4d02cccd632048b45458e84bc8b40b (patch)
treee020b29ea8793617ea774963998d2de40cd349fe /gold/symtab.h
parent93d90f466b0a6faa6a7811187139f66a2b9c9c74 (diff)
downloadgdb-88a4108bde4d02cccd632048b45458e84bc8b40b.zip
gdb-88a4108bde4d02cccd632048b45458e84bc8b40b.tar.gz
gdb-88a4108bde4d02cccd632048b45458e84bc8b40b.tar.bz2
PR 11855
* script.cc (Script_options::Script_options): Initialize symbol_definitions_ and symbol_references_. (Script_options::add_symbol_assignment): Update symbol_definitions_ and symbol_references_. (Script_options::add_symbol_reference): New function. (script_symbol): New function. * script.h (class Script_options): Add symbol_definitions_ and symbol_references_ fields. (Script_options::referenced_const_iterator): New type. (Script_options::referenced_begin): New function. (Script_options::referenced_end): New function. (Script_options::is_referenced): New function. (Script_options::any_unreferenced): New function. * script-c.h (script_symbol): Declare. * yyscript.y (exp): Call script_symbol. * symtab.cc: Include "script.h". (Symbol_table::gc_mark_undef_symbols): Add layout parameter. Change all callers. Check symbols referenced by scripts. (Symbol_table::add_undefined_symbols_from_command_line): Add layout parameter. Change all callers. (Symbol_table::do_add_undefined_symbols_from_command_line): Likewise. Break out loop body. Check symbols referenced by scripts. (Symbol_table::add_undefined_symbol_from_command_line): New function broken out of do_add_undefined_symbols_from_command_line. * symtab.h (class Symbol_table): Update declarations. * archive.cc: Include "layout.h". (Archive::should_include_member): Add layout parameter. Change all callers. Check for symbol mentioned in expression. * archive.h (class Archive): Update declaration. * object.cc (Sized_relobj::do_should_include_member): Add layout parameter. * object.h (Object::should_include_member): Add layout parameter. Change all callers. (Object::do_should_include_member): Add layout parameter. (class Sized_relobj): Update declaration. * dynobj.cc (Sized_dynobj::do_should_include_member): Add layout parameter. * dynobj.h (class Sized_dynobj): Update declaration. * plugin.cc (Sized_pluginobj::do_should_include_member): Add layout parameter. * plugin.h (class Sized_pluginobj): Update declaration.
Diffstat (limited to 'gold/symtab.h')
-rw-r--r--gold/symtab.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/gold/symtab.h b/gold/symtab.h
index 3058546..8178e2c 100644
--- a/gold/symtab.h
+++ b/gold/symtab.h
@@ -1269,7 +1269,7 @@ class Symbol_table
// During garbage collection, this keeps undefined symbols.
void
- gc_mark_undef_symbols();
+ gc_mark_undef_symbols(Layout*);
// During garbage collection, this ensures externally visible symbols
// are not treated as garbage while building shared objects.
@@ -1419,7 +1419,7 @@ class Symbol_table
// Add any undefined symbols named on the command line to the symbol
// table.
void
- add_undefined_symbols_from_command_line();
+ add_undefined_symbols_from_command_line(Layout*);
// SYM is defined using a COPY reloc. Return the dynamic object
// where the original definition was found.
@@ -1633,7 +1633,12 @@ class Symbol_table
// table, sized version.
template<int size>
void
- do_add_undefined_symbols_from_command_line();
+ do_add_undefined_symbols_from_command_line(Layout*);
+
+ // Add one undefined symbol.
+ template<int size>
+ void
+ add_undefined_symbol_from_command_line(const char* name);
// Types of common symbols.