* layout.cc (Layout::set_segment_offsets): Accept writable .text
authorAlan Modra <amodra@gmail.com>
Thu, 21 Mar 2013 04:52:55 +0000 (04:52 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 21 Mar 2013 04:52:55 +0000 (04:52 +0000)
segment when omagic.

gold/ChangeLog
gold/layout.cc

index 52c2067..49ed934 100644 (file)
@@ -1,5 +1,10 @@
 2013-03-21  Alan Modra  <amodra@gmail.com>
 
+       * layout.cc (Layout::set_segment_offsets): Accept writable .text
+       segment when omagic.
+
+2013-03-21  Alan Modra  <amodra@gmail.com>
+
        * dwp.cc (Dwp_output_file::add_contribution): Avoid signed/unsigned
        comparison warning.
        * layout.cc (Layout::create_dynamic_symtab): Avoid "may be used
index 4c48c3c..8b88dea 100644 (file)
@@ -3353,7 +3353,8 @@ Layout::set_segment_offsets(const Target* target, Output_segment* load_seg,
              addr = (*p)->paddr();
            }
          else if (parameters->options().user_set_Ttext()
-                  && ((*p)->flags() & elfcpp::PF_W) == 0)
+                  && (parameters->options().omagic()
+                      || ((*p)->flags() & elfcpp::PF_W) == 0))
            {
              are_addresses_set = true;
            }