set_no_zero_null()
{ this->zero_null_ = false; }
+ // Indicate that this string pool should be optimized, even if not
+ // running with -O2.
+ void
+ set_optimize()
+ { this->optimize_ = true; }
+
// Add the string S to the pool. This returns a canonical permanent
// pointer to the string in the pool. If COPY is true, the string
// is copied into permanent storage. If PKEY is not NULL, this sets
section_offset_type
get_offset_from_key(Key k) const
{
- gold_assert(k < this->key_to_offset_.size());
- return this->key_to_offset_[k];
+ gold_assert(k <= this->key_to_offset_.size());
+ return this->key_to_offset_[k - 1];
}
// Get the size of the string table. This returns the number of
section_size_type strtab_size_;
// Whether to reserve offset 0 to hold the null string.
bool zero_null_;
+ // Whether to optimize the string table.
+ bool optimize_;
};
// The most common type of Stringpool.