diff options
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/ldlang.c | 9 |
2 files changed, 10 insertions, 6 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index f5c7438..b641071 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -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 diff --git a/ld/ldlang.c b/ld/ldlang.c index e9f032e..9e956b3 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -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; } |