diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2013-05-01 19:45:27 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2013-05-01 19:45:27 +0000 |
commit | d3a7cd45fd77177ca578790f0d39856136f3f8b4 (patch) | |
tree | d81105a6df63d03e20dc318a023ec13e3b75a935 | |
parent | 6ad3dabab5613c44aa20aa8698710351ea554721 (diff) | |
download | gdb-d3a7cd45fd77177ca578790f0d39856136f3f8b4.zip gdb-d3a7cd45fd77177ca578790f0d39856136f3f8b4.tar.gz gdb-d3a7cd45fd77177ca578790f0d39856136f3f8b4.tar.bz2 |
Restore empty string handling
* merge.cc (Output_merge_string<Char_type>::do_add_input_section):
Restore empty string handling.
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/merge.cc | 18 |
2 files changed, 13 insertions, 10 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index a6f3d59..164da85 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -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 diff --git a/gold/merge.cc b/gold/merge.cc index 6480bd9..2d01462 100644 --- a/gold/merge.cc +++ b/gold/merge.cc @@ -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); } |