Restore empty string handling

* merge.cc (Output_merge_string<Char_type>::do_add_input_section):
	Restore empty string handling.
This commit is contained in:
H.J. Lu 2013-05-01 19:45:27 +00:00
parent 6ad3dabab5
commit d3a7cd45fd
2 changed files with 13 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2013-05-01 H.J. Lu <hongjiu.lu@intel.com>
* merge.cc (Output_merge_string<Char_type>::do_add_input_section):
Restore empty string handling.
2013-05-01 Cary Coutant <ccoutant@google.com>
* stringpool.cc (Stringpool_template::new_key_offset): Fix

View File

@ -565,18 +565,16 @@ Output_merge_string<Char_type>::do_add_input_section(Relobj* object,
{
size_t len = string_length(p);
if (len != 0)
{
// Within merge input section each string must be aligned.
if ((reinterpret_cast<uintptr_t>(p) & (this->addralign() - 1))
!= init_align_modulo)
has_misaligned_strings = true;
// Within merge input section each string must be aligned.
if (len != 0
&& ((reinterpret_cast<uintptr_t>(p) & (this->addralign() - 1))
!= init_align_modulo))
has_misaligned_strings = true;
Stringpool::Key key;
this->stringpool_.add_with_length(p, len, true, &key);
Stringpool::Key key;
this->stringpool_.add_with_length(p, len, true, &key);
merged_strings.push_back(Merged_string(i, key));
}
merged_strings.push_back(Merged_string(i, key));
p += len + 1;
i += (len + 1) * sizeof(Char_type);
}