From 2c7b626ceef8ee50d6ef6fb575cfe55b93ef7a0f Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Mon, 2 Mar 2015 10:20:21 -0800 Subject: [PATCH] Fix crash when processing merge section with entsize of 0. 2015-02-04 Peter Collingbourne Cary Coutant gold/ * output.cc (Output_section::add_merge_input_section): Do not attempt to merge sections with an entsize of 0. --- gold/ChangeLog | 6 ++++++ gold/output.cc | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/gold/ChangeLog b/gold/ChangeLog index 10fc03b..d7dd903 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2015-02-04 Peter Collingbourne + Cary Coutant + + * output.cc (Output_section::add_merge_input_section): Do not + attempt to merge sections with an entsize of 0. + 2015-02-02 Khem Raj * attributes.h (class Output_attributes_section_data ): Add 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. -- 2.7.4