diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-06-23 07:04:10 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-06-23 07:04:10 +0000 |
commit | f7c8a183e8d2c83eddadddb3b473338abf30a1d5 (patch) | |
tree | d2bceeacff8a0d85d0dac1baff52cd9c84548ede /gold/stringpool.cc | |
parent | e6a307bae3aac48d98d01f51308e238aeabbdfd4 (diff) | |
download | gdb-f7c8a183e8d2c83eddadddb3b473338abf30a1d5.zip gdb-f7c8a183e8d2c83eddadddb3b473338abf30a1d5.tar.gz gdb-f7c8a183e8d2c83eddadddb3b473338abf30a1d5.tar.bz2 |
PR 10133
* stringpool.h (class Stringpool_template): Add optimize_ field.
(Stringpool_template::set_optimize): New function.
* stringpool.cc (Stringpool_template::Stringpool_template):
Initialize optimize_ field.
(Stringpool_template::set_string_offsets): Test local optimize
fild rather than parameter.
* layout.cc (Layout::Layout): Call set_optimize on the section
name stringpool.
Diffstat (limited to 'gold/stringpool.cc')
-rw-r--r-- | gold/stringpool.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gold/stringpool.cc b/gold/stringpool.cc index e37846b..05d1d68 100644 --- a/gold/stringpool.cc +++ b/gold/stringpool.cc @@ -36,8 +36,10 @@ namespace gold template<typename Stringpool_char> Stringpool_template<Stringpool_char>::Stringpool_template() : string_set_(), key_to_offset_(), strings_(), strtab_size_(0), - zero_null_(true) + zero_null_(true), optimize_(false) { + if (parameters->options_valid() && parameters->options().optimize() >= 2) + this->optimize_ = true; } template<typename Stringpool_char> @@ -395,7 +397,7 @@ Stringpool_template<Stringpool_char>::set_string_offsets() // the strtab size, and gives a relatively small benefit (it's // typically rare for a symbol to be a suffix of another), we only // take the time to sort when the user asks for heavy optimization. - if (parameters->options().optimize() < 2) + if (!this->optimize_) { for (typename String_set_type::iterator curr = this->string_set_.begin(); curr != this->string_set_.end(); |