Prevent .noinit section from incorrect placement for AVR.
authorDenis Chertykov <chertykov@gmail.com>
Mon, 25 Jan 2016 19:33:25 +0000 (22:33 +0300)
committerDenis Chertykov <chertykov@gmail.com>
Mon, 25 Jan 2016 19:33:25 +0000 (22:33 +0300)
commit7585b2b8b643f4f20c25374f433081aee848e71f
treea71e879ca9202bdac78c4960b2a155a1dab1e11d
parenta0f8e08a3c357ae24d3244940e1c6b405a0c17cc
Prevent .noinit section from incorrect placement for AVR.

When .data and .bss sections are empty .noinit section is placed at data
region's start. This will be incorrect for devices that has different
data start address than data region start in linker script.
The patch updates .noinit section's VMA to end of .bss section. So, .noinit
section will be placed at .data section address (-Tdata=<address>) when .data
and .bss sections are empty.

ld/

* scripttempl/avr.sc (.noinit): Force .noinit VMA to end of .bss VMA.
* scripttempl/avrtiny.sc (.noinit): Likewise.
ld/ChangeLog
ld/scripttempl/avr.sc
ld/scripttempl/avrtiny.sc