PR 11855
authorIan Lance Taylor <ian@airs.com>
Mon, 2 Aug 2010 13:34:33 +0000 (13:34 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 2 Aug 2010 13:34:33 +0000 (13:34 +0000)
commit88a4108bde4d02cccd632048b45458e84bc8b40b
treee020b29ea8793617ea774963998d2de40cd349fe
parent93d90f466b0a6faa6a7811187139f66a2b9c9c74
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.
16 files changed:
gold/ChangeLog
gold/archive.cc
gold/archive.h
gold/dynobj.cc
gold/dynobj.h
gold/gold.cc
gold/object.cc
gold/object.h
gold/plugin.cc
gold/plugin.h
gold/script-c.h
gold/script.cc
gold/script.h
gold/symtab.cc
gold/symtab.h
gold/yyscript.y