From: Ian Lance Taylor Date: Tue, 22 Jul 2008 08:09:48 +0000 (+0000) Subject: * output.cc (Output_section::add_input_section): Don't try to X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e0b640329e833ef6338cf962f153f5bdb4ba7eed;p=binutils-gdb.git * output.cc (Output_section::add_input_section): Don't try to merge empty merge sections. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index 297ab894fa0..c1dc3095c79 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2008-07-22 Ian Lance Taylor + + * output.cc (Output_section::add_input_section): Don't try to + merge empty merge sections. + 2008-07-21 Craig Silverstein * symtab.cc (Symbol_table::warn_about_undefined_dynobj_symbol): diff --git a/gold/output.cc b/gold/output.cc index 6ec4aef6601..a24ee5fff95 100644 --- a/gold/output.cc +++ b/gold/output.cc @@ -1819,9 +1819,11 @@ Output_section::add_input_section(Sized_relobj* object, // If this is a SHF_MERGE section, we pass all the input sections to // a Output_data_merge. We don't try to handle relocations for such - // a section. + // a section. We don't try to handle empty merge sections--they + // mess up the mappings, and are useless anyhow. if ((sh_flags & elfcpp::SHF_MERGE) != 0 - && reloc_shndx == 0) + && reloc_shndx == 0 + && shdr.get_sh_size() > 0) { if (this->add_merge_input_section(object, shndx, sh_flags, entsize, addralign))