aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2011-05-16 00:22:39 +0000
committerAlan Modra <amodra@gmail.com>2011-05-16 00:22:39 +0000
commit83e7bd17d6eb0cc0335fa33047e197b8646a0b4d (patch)
tree690a79ff981c53e3f06415d56fdf36a4f7d9f039 /ld
parent6706b16f7fa47b0000014763f2964755e397d718 (diff)
downloadgdb-83e7bd17d6eb0cc0335fa33047e197b8646a0b4d.zip
gdb-83e7bd17d6eb0cc0335fa33047e197b8646a0b4d.tar.gz
gdb-83e7bd17d6eb0cc0335fa33047e197b8646a0b4d.tar.bz2
* ldlang.c (lang_leave_output_section_statement): Don't copy
previous lma_region if given address.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldlang.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index f443ae0..b8ecfc3 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-16 Alan Modra <amodra@gmail.com>
+
+ * ldlang.c (lang_leave_output_section_statement): Don't copy
+ previous lma_region if given address.
+
2011-05-13 Bernd Schmidt <bernds@codesourcery.com>
(eelf32_tic6x_linux_be.c, eelf32_tic6x_linux_le.c,
diff --git a/ld/ldlang.c b/ld/ldlang.c
index c291fd9..b9f6dd8 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -6912,11 +6912,13 @@ lang_leave_output_section_statement (fill_type *fill, const char *memspec,
current_section->load_base != NULL,
current_section->addr_tree != NULL);
- /* If this section has no load region or base, but has the same
+ /* If this section has no load region or base, but uses the same
region as the previous section, then propagate the previous
section's load region. */
- if (!current_section->lma_region && !current_section->load_base
+ if (current_section->lma_region == NULL
+ && current_section->load_base == NULL
+ && current_section->addr_tree == NULL
&& current_section->region == current_section->prev->region)
current_section->lma_region = current_section->prev->lma_region;