aboutsummaryrefslogtreecommitdiff
path: root/ld/ldlang.c
diff options
context:
space:
mode:
Diffstat (limited to 'ld/ldlang.c')
-rw-r--r--ld/ldlang.c8
1 files changed, 7 insertions, 1 deletions
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)
{