aboutsummaryrefslogtreecommitdiff
path: root/gold/symtab.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-08-22 05:06:38 +0000
committerIan Lance Taylor <iant@google.com>2007-08-22 05:06:38 +0000
commita6badf5a97374debb5be7b7e6e624f409e14e00d (patch)
tree5becd23e990a6d3cc72b377591a6652673fb1b72 /gold/symtab.cc
parent6b2d86bda4d98894598f17fb8682e7cd4eafd833 (diff)
downloadgdb-a6badf5a97374debb5be7b7e6e624f409e14e00d.zip
gdb-a6badf5a97374debb5be7b7e6e624f409e14e00d.tar.gz
gdb-a6badf5a97374debb5be7b7e6e624f409e14e00d.tar.bz2
Add support for -E/--export-dynamic. Also clean up --help output a bit.
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r--gold/symtab.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc
index 01e000d..70fa890 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -1001,7 +1001,10 @@ Symbol_table::set_dynsym_indexes(const General_options* options,
// some symbols appear more than once in the symbol table, with
// and without a version.
- if (!sym->needs_dynsym_entry())
+ if (!sym->needs_dynsym_entry()
+ && (!options->export_dynamic()
+ || !sym->in_reg()
+ || !sym->is_externally_visible()))
sym->set_dynsym_index(-1U);
else if (!sym->has_dynsym_index())
{