PR ld/10749
authorAlan Modra <amodra@gmail.com>
Fri, 9 Oct 2009 05:19:37 +0000 (05:19 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 9 Oct 2009 05:19:37 +0000 (05:19 +0000)
* ldlang.c (lang_size_sections_1): Zero section vmas only for COFF.

ld/ChangeLog
ld/ldlang.c

index 5ed952e0a9ee7aa9d6003b7fc3348ecca393dcf8..8ed1da915fb623c21a49cc115c30e3589920eb9e 100644 (file)
@@ -1,3 +1,8 @@
+2009-10-09  Alan Modra  <amodra@bigpond.net.au>
+
+       PR ld/10749
+       * ldlang.c (lang_size_sections_1): Zero section vmas only for COFF.
+
 2009-10-08  Alan Modra  <amodra@bigpond.net.au>
 
        PR ld/10744
@@ -74,6 +79,7 @@
 
 2009-09-27  Christopher Faylor  <me+cygwin@cgf.cx>
 
+       PR ld/10634
        * ldlang.c (lang_size_sections_1): Always force output vma to zero for
        relocatable sections.
        (lang_size_sections_1): Revert previous COFF-only accommodation for
index f1daeb57113a45ad38366369f09d7b3a892a316e..898ec054d2aac77d0000a1bfbb56a436956af122 100644 (file)
@@ -4665,7 +4665,13 @@ lang_size_sections_1
            lang_memory_region_type *r;
 
            os = &s->output_section_statement;
-           if (os->addr_tree == NULL && link_info.relocatable)
+           /* FIXME: We shouldn't need to zero section vmas for ld -r
+              here, in lang_insert_orphan, or in the default linker scripts.
+              This is covering for coff backend linker bugs.  See PR6945.  */
+           if (os->addr_tree == NULL
+               && link_info.relocatable
+               && (bfd_get_flavour (link_info.output_bfd)
+                   == bfd_target_coff_flavour))
              os->addr_tree = exp_intop (0);
            if (os->addr_tree != NULL)
              {