+2013-03-05 Alan Modra <amodra@gmail.com>
+
+ PR ld/15222
+ * ldlang.c (lang_size_sections_1): When given an lma_region align
+ LMA as per VMA only if lma_region is the same as region.
+
2013-02-27 Nick Clifton <nickc@redhat.com>
* scripttempl/elf32msp430.sc: Add placement of .data.* sections.
{
bfd_vma lma = os->lma_region->current;
+ /* When LMA_REGION is the same as REGION, align the LMA
+ as we did for the VMA, possibly including alignment
+ from the bfd section. If a different region, then
+ only align according to the value in the output
+ statement. */
+ if (os->lma_region != os->region)
+ section_alignment = os->section_alignment;
if (section_alignment > 0)
lma = align_power (lma, section_alignment);
os->bfd_section->lma = lma;
+2013-03-05 Alan Modra <amodra@gmail.com>
+
+ * ld-scripts/rgn-at6.s, * ld-scripts/rgn-at6.t, * ld-scripts/rgn-at6.d,
+ * ld-scripts/rgn-at7.t, * ld-scripts/rgn-at7.d: New tests.
+
2013-02-28 Nathan Sidwell <nathan@codesourcery.com>
* ld-arm/tls-local-static.s: New test.
--- /dev/null
+#source: rgn-at6.s
+#ld: -T rgn-at6.t
+#objdump: -h --wide
+#xfail: rx-*-*
+# Test that lma is aligned as for vma when lma_region==region.
+
+#...
+.* 0+10000 +0+10000 .*
+.* 0+10100 +0+10100 .*
--- /dev/null
+ .text
+ .long 0
+
+ .data
+ .p2align 8
+ .long 0
--- /dev/null
+MEMORY
+{
+ ram : ORIGIN = 0x10000, LENGTH = 0x10000
+}
+
+SECTIONS
+{
+ .text : {*(.text)} > ram AT> ram
+ .data : ALIGN (16) {*(.data)} > ram AT> ram
+ /DISCARD/ : {*(*)}
+}
--- /dev/null
+#source: rgn-at6.s
+#ld: -T rgn-at7.t
+#objdump: -h --wide
+#xfail: rx-*-*
+# Test that lma is only aligned by script when lma_region!=region.
+
+#...
+.* 0+10000 +0+20000 .*
+.* 0+10100 +0+20010 .*
--- /dev/null
+MEMORY
+{
+ ram : ORIGIN = 0x10000, LENGTH = 0x10000
+ rom : ORIGIN = 0x20000, LENGTH = 0x10000
+}
+
+SECTIONS
+{
+ .text : {*(.text)} > ram AT> rom
+ .data : ALIGN (16) {*(.data)} > ram AT> rom
+ /DISCARD/ : {*(*)}
+}