From: Ian Lance Taylor Date: Tue, 15 Dec 2009 22:20:25 +0000 (+0000) Subject: * layout.cc (Layout::create_shstrtab): Only write out after input X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e0d5469b8093e5b5a88507fb07ea1a0a24bed60;p=binutils-gdb.git * layout.cc (Layout::create_shstrtab): Only write out after input sections if we are compressing debug sections. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index 7084de85a52..86ed4e8f6f5 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2009-12-15 Ian Lance Taylor + + * layout.cc (Layout::create_shstrtab): Only write out after input + sections if we are compressing debug sections. + 2009-12-15 Ian Lance Taylor * archive.cc (Archive::add_symbols): Only look up a symbol without diff --git a/gold/layout.cc b/gold/layout.cc index a7f8185d49a..914de92cfca 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -2694,10 +2694,14 @@ Layout::create_shstrtab() Output_section* os = this->make_output_section(name, elfcpp::SHT_STRTAB, 0, false, false); - // We can't write out this section until we've set all the section - // names, and we don't set the names of compressed output sections - // until relocations are complete. - os->set_after_input_sections(); + if (strcmp(parameters->options().compress_debug_sections(), "none") != 0) + { + // We can't write out this section until we've set all the + // section names, and we don't set the names of compressed + // output sections until relocations are complete. FIXME: With + // the current names we use, this is unnecessary. + os->set_after_input_sections(); + } Output_section_data* posd = new Output_data_strtab(&this->namepool_); os->add_output_section_data(posd);