* layout.cc (Layout::create_shstrtab): Only write out after input
authorIan Lance Taylor <ian@airs.com>
Tue, 15 Dec 2009 22:20:25 +0000 (22:20 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 15 Dec 2009 22:20:25 +0000 (22:20 +0000)
sections if we are compressing debug sections.

gold/ChangeLog
gold/layout.cc

index 7084de8..86ed4e8 100644 (file)
@@ -1,5 +1,10 @@
 2009-12-15  Ian Lance Taylor  <iant@google.com>
 
+       * layout.cc (Layout::create_shstrtab): Only write out after input
+       sections if we are compressing debug sections.
+
+2009-12-15  Ian Lance Taylor  <iant@google.com>
+
        * archive.cc (Archive::add_symbols): Only look up a symbol without
        a version if there is, in fact, a version.
 
index a7f8185..914de92 100644 (file)
@@ -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);