aboutsummaryrefslogtreecommitdiff
path: root/gold/object.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2011-05-11 00:29:57 +0000
committerCary Coutant <ccoutant@google.com>2011-05-11 00:29:57 +0000
commit403676b5704d576dfc3a663e4d55d6525053ce3f (patch)
treedaf1f45202efe420328190d056d320a21fd53732 /gold/object.cc
parentfc5303d01105371c0b676352efc63b6071c51133 (diff)
downloadfsf-binutils-gdb-403676b5704d576dfc3a663e4d55d6525053ce3f.zip
fsf-binutils-gdb-403676b5704d576dfc3a663e4d55d6525053ce3f.tar.gz
fsf-binutils-gdb-403676b5704d576dfc3a663e4d55d6525053ce3f.tar.bz2
* object.cc (Sized_relobj::do_count_local_symbols): Check for
strip_all (-s).
Diffstat (limited to 'gold/object.cc')
-rw-r--r--gold/object.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gold/object.cc b/gold/object.cc
index b1fc25c..a39a37c 100644
--- a/gold/object.cc
+++ b/gold/object.cc
@@ -1824,6 +1824,7 @@ Sized_relobj<size, big_endian>::do_count_local_symbols(Stringpool* pool,
unsigned int dyncount = 0;
// Skip the first, dummy, symbol.
psyms += sym_size;
+ bool strip_all = parameters->options().strip_all();
bool discard_all = parameters->options().discard_all();
bool discard_locals = parameters->options().discard_locals();
for (unsigned int i = 1; i < loccount; ++i, psyms += sym_size)
@@ -1882,7 +1883,8 @@ Sized_relobj<size, big_endian>::do_count_local_symbols(Stringpool* pool,
++dyncount;
}
- if (discard_all && lv.may_be_discarded_from_output_symtab())
+ if (strip_all
+ || (discard_all && lv.may_be_discarded_from_output_symtab()))
{
lv.set_no_output_symtab_entry();
continue;