summaryrefslogtreecommitdiff
path: root/gold/archive.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2012-04-17 00:28:41 +0000
committerCary Coutant <ccoutant@google.com>2012-04-17 00:28:41 +0000
commit31821be097c4154d3d7d201d9f4939a47af97ac6 (patch)
tree7edeb0b25537320dfc7f1630032882ca0ce24aad /gold/archive.cc
parentf3e8aed33920e15de4df81090af592a6940ce01b (diff)
downloadbinutils-gdb-31821be097c4154d3d7d201d9f4939a47af97ac6.tar.gz
* archive.cc (Library_base::should_include_member): Check for
--export-dynamic-symbol. * options.h (class General_options): Add --export-dynamic-symbol. * symtab.cc (Symbol::should_add_dynsym_entry): Check for --export-dynamic-symbol. (Symbol_table::gc_mark_undef_symbols): Likewise. (Symbol_table::do_add_undefined_symbols_from_command_line): Likewise.
Diffstat (limited to 'gold/archive.cc')
-rw-r--r--gold/archive.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/gold/archive.cc b/gold/archive.cc
index c2e6ff63db2..4db813d6dff 100644
--- a/gold/archive.cc
+++ b/gold/archive.cc
@@ -104,6 +104,11 @@ Library_base::should_include_member(Symbol_table* symtab, Layout* layout,
*why = "-u ";
*why += sym_name;
}
+ else if (parameters->options().is_export_dynamic_symbol(sym_name))
+ {
+ *why = "--export-dynamic-symbol ";
+ *why += sym_name;
+ }
else if (layout->script_options()->is_referenced(sym_name))
{
size_t alc = 100 + strlen(sym_name);