* output.h (class Output_section_data): Remove inline definition
authorIan Lance Taylor <ian@airs.com>
Fri, 11 Apr 2008 22:55:13 +0000 (22:55 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 11 Apr 2008 22:55:13 +0000 (22:55 +0000)
of set_addralign.
* output.cc (Output_section_data::set_addralign): New function.

gold/ChangeLog
gold/output.cc
gold/output.h

index cc05b97..c022353 100644 (file)
@@ -1,3 +1,9 @@
+2008-04-11  Ian Lance Taylor  <iant@google.com>
+
+       * output.h (class Output_section_data): Remove inline definition
+       of set_addralign.
+       * output.cc (Output_section_data::set_addralign): New function.
+
 2008-04-11  Cary Coutant  <ccoutant@google.com>
 
        Add support for TLS descriptors for i386 and x86_64.
index 9ec1462..48609a2 100644 (file)
@@ -535,6 +535,18 @@ Output_section_data::do_out_shndx() const
   return this->output_section_->out_shndx();
 }
 
+// Set the alignment, which means we may need to update the alignment
+// of the output section.
+
+void
+Output_section_data::set_addralign(uint64_t addralign)
+{
+  this->addralign_ = addralign;
+  if (this->output_section_ != NULL
+      && this->output_section_->addralign() < addralign)
+    this->output_section_->set_addralign(addralign);
+}
+
 // Output_data_strtab methods.
 
 // Set the final data size.
index 126ec71..6221c6e 100644 (file)
@@ -595,8 +595,7 @@ class Output_section_data : public Output_data
 
   // Set the alignment.
   void
-  set_addralign(uint64_t addralign)
-  { this->addralign_ = addralign; }
+  set_addralign(uint64_t addralign);
 
  private:
   // The output section for this section.