aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2007-09-21 06:12:32 +0000
committerIan Lance Taylor <iant@google.com>2007-09-21 06:12:32 +0000
commita8b2552e073964232f2831644fef18c6a7fa52ae (patch)
treec15509bb4ac088197ea67815243fd979dac549c5
parentca3a67a5cf313a093f28624258b1fd2201d1835e (diff)
downloadgdb-a8b2552e073964232f2831644fef18c6a7fa52ae.zip
gdb-a8b2552e073964232f2831644fef18c6a7fa52ae.tar.gz
gdb-a8b2552e073964232f2831644fef18c6a7fa52ae.tar.bz2
Set Stringpool zero_null option via a call, not a default constructor
argument.
-rw-r--r--gold/merge.h4
-rw-r--r--gold/stringpool.cc4
-rw-r--r--gold/stringpool.h14
3 files changed, 13 insertions, 9 deletions
diff --git a/gold/merge.h b/gold/merge.h
index dd97bf2..591ac91 100644
--- a/gold/merge.h
+++ b/gold/merge.h
@@ -169,8 +169,8 @@ class Output_merge_string : public Output_merge_base
{
public:
Output_merge_string()
- : Output_merge_base(sizeof(Char_type)), stringpool_(false), hashtable_()
- { }
+ : Output_merge_base(sizeof(Char_type)), stringpool_(), hashtable_()
+ { this->stringpool_.set_no_zero_null(); }
// Add an input section.
bool
diff --git a/gold/stringpool.cc b/gold/stringpool.cc
index 4a301fe..c0a4ae7 100644
--- a/gold/stringpool.cc
+++ b/gold/stringpool.cc
@@ -13,9 +13,9 @@ namespace gold
{
template<typename Stringpool_char>
-Stringpool_template<Stringpool_char>::Stringpool_template(bool zero_null)
+Stringpool_template<Stringpool_char>::Stringpool_template()
: string_set_(), strings_(), strtab_size_(0), next_index_(1),
- zero_null_(zero_null)
+ zero_null_(true)
{
}
diff --git a/gold/stringpool.h b/gold/stringpool.h
index cdd36e7..11e9736 100644
--- a/gold/stringpool.h
+++ b/gold/stringpool.h
@@ -58,14 +58,18 @@ class Stringpool_template
// is never a valid key value.
typedef size_t Key;
- // Create a Stringpool. ZERO_NULL is true if we should reserve
- // offset 0 to hold the empty string when converting the stringpool
- // to a string table. ZERO_NULL should be true if you want a proper
- // ELF SHT_STRTAB section.
- Stringpool_template(bool zero_null = true);
+ // Create a Stringpool.
+ Stringpool_template();
~Stringpool_template();
+ // Indicate that we should not reserve offset 0 to hold the empty
+ // string when converting the stringpool to a string table. This
+ // should not be called for a proper ELF SHT_STRTAB section.
+ void
+ set_no_zero_null()
+ { this->zero_null_ = false; }
+
// Add the string S to the pool. This returns a canonical permanent
// pointer to the string in the pool. If PKEY is not NULL, this
// sets *PKEY to the key for the string.