aboutsummaryrefslogtreecommitdiff
path: root/gold
diff options
context:
space:
mode:
Diffstat (limited to 'gold')
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/merge.cc18
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);
}