aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-10-09 05:19:37 +0000
committerAlan Modra <amodra@gmail.com>2009-10-09 05:19:37 +0000
commitfd68d03d9244a426ca1ddd902e8f5e3d4a2e7c64 (patch)
tree90e9b7db8ea7e4889f983eaa9cb5b529cda4595e /ld
parent79e314681214f07a627b172220ac49e1640ffe54 (diff)
downloadgdb-fd68d03d9244a426ca1ddd902e8f5e3d4a2e7c64.zip
gdb-fd68d03d9244a426ca1ddd902e8f5e3d4a2e7c64.tar.gz
gdb-fd68d03d9244a426ca1ddd902e8f5e3d4a2e7c64.tar.bz2
PR ld/10749
* ldlang.c (lang_size_sections_1): Zero section vmas only for COFF.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/ldlang.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 5ed952e..8ed1da9 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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
diff --git a/ld/ldlang.c b/ld/ldlang.c
index f1daeb5..898ec05 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -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)
{