This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix crash when processing merge section with entsize of 0.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2c7b626ceef8ee50d6ef6fb575cfe55b93ef7a0f

commit 2c7b626ceef8ee50d6ef6fb575cfe55b93ef7a0f
Author: Cary Coutant <ccoutant@google.com>
Date:   Mon Mar 2 10:20:21 2015 -0800

    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.

Diff:
---
 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  <pcc@google.com>
+            Cary Coutant  <ccoutant@google.com>
+
+	* output.cc (Output_section::add_merge_input_section): Do not
+	attempt to merge sections with an entsize of 0.
+
 2015-02-02  Khem Raj  <raj.khem@gmail.com>
 
 	* 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]