* ldlang.c (lang_size_sections_1): Always force output vma to zero for
authorChristopher Faylor <me+cygwin@cgf.cx>
Sun, 27 Sep 2009 16:08:34 +0000 (16:08 +0000)
committerChristopher Faylor <me+cygwin@cgf.cx>
Sun, 27 Sep 2009 16:08:34 +0000 (16:08 +0000)
relocatable sections.
(lang_size_sections_1): Revert previous COFF-only accommodation for relocatable
sections.

ld/ChangeLog
ld/ldlang.c

index f5c7438901eb9cc9a1025629e1f47fc5d6d7f3a0..b641071dfcaa330a1da1955faa4d66916ed0b468 100644 (file)
@@ -1,3 +1,10 @@
+2009-09-27  Christopher Faylor  <me+cygwin@cgf.cx>
+
+       * 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
+       relocatable sections.
+
 2009-09-25  Martin Thuresson  <martint@google.com>
 
        Update soruces to make arm targets compile cleanly with
index e9f032ef359f6810c99f1070aae11c6d450bce21..9e956b384fa14972bcaae85fdae7a1ec7689ced3 100644 (file)
@@ -4665,6 +4665,8 @@ lang_size_sections_1
            lang_memory_region_type *r;
 
            os = &s->output_section_statement;
+           if (link_info.relocatable)
+             os->addr_tree = exp_intop (0);
            if (os->addr_tree != NULL)
              {
                os->processed_vma = FALSE;
@@ -4789,12 +4791,7 @@ lang_size_sections_1
                             os->name, (unsigned long) (newdot - savedot));
                  }
 
-               /* PR 6945: Do not update the vma's of output sections
-                  when performing a relocatable link on COFF objects.  */
-               if (! link_info.relocatable
-                   || (bfd_get_flavour (link_info.output_bfd)
-                       != bfd_target_coff_flavour))
-                 bfd_set_section_vma (0, os->bfd_section, newdot);
+               bfd_set_section_vma (0, os->bfd_section, newdot);
 
                os->bfd_section->output_offset = 0;
              }