diff options
author | Christopher Faylor <me+cygwin@cgf.cx> | 2009-09-27 16:08:34 +0000 |
---|---|---|
committer | Christopher Faylor <me+cygwin@cgf.cx> | 2009-09-27 16:08:34 +0000 |
commit | eceda120cd420689231483412fdebc32158d79c7 (patch) | |
tree | 092b6417b18cae9bb969b9186583b352e46eb497 /ld | |
parent | 5b6912fbdbc8f9640728799661010fc080fe2e53 (diff) | |
download | gdb-eceda120cd420689231483412fdebc32158d79c7.zip gdb-eceda120cd420689231483412fdebc32158d79c7.tar.gz gdb-eceda120cd420689231483412fdebc32158d79c7.tar.bz2 |
* 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.
Diffstat (limited to 'ld')
-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; } |