aboutsummaryrefslogtreecommitdiff
path: root/gold/output.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2015-03-02 10:20:21 -0800
committerCary Coutant <ccoutant@google.com>2015-03-02 10:20:21 -0800
commit2c7b626ceef8ee50d6ef6fb575cfe55b93ef7a0f (patch)
tree69aaa16769b829dc75667bf1b1126b0cb4695ecd /gold/output.cc
parent5b07cd848db1dbe9e3498e94bea5e69c8e438153 (diff)
downloadgdb-2c7b626ceef8ee50d6ef6fb575cfe55b93ef7a0f.zip
gdb-2c7b626ceef8ee50d6ef6fb575cfe55b93ef7a0f.tar.gz
gdb-2c7b626ceef8ee50d6ef6fb575cfe55b93ef7a0f.tar.bz2
Fix crash when processing merge section with entsize of 0.
2015-02-04 Peter Collingbourne <pcc@google.com> Cary Coutant <ccoutant@google.com> gold/ * output.cc (Output_section::add_merge_input_section): Do not attempt to merge sections with an entsize of 0.
Diffstat (limited to 'gold/output.cc')
-rw-r--r--gold/output.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gold/output.cc b/gold/output.cc
index e9dd522..01838cc 100644
--- a/gold/output.cc
+++ b/gold/output.cc
@@ -2636,6 +2636,10 @@ Output_section::add_merge_input_section(Relobj* object, unsigned int shndx,
uint64_t addralign,
bool keeps_input_sections)
{
+ // We cannot merge sections with entsize == 0.
+ if (entsize == 0)
+ return false;
+
bool is_string = (flags & elfcpp::SHF_STRINGS) != 0;
// We cannot restore merged input section states.