altos/stm: Align 'data' to 8 bytes, just like textram
authorKeith Packard <keithp@keithp.com>
Tue, 12 Dec 2017 23:31:27 +0000 (15:31 -0800)
committerKeith Packard <keithp@keithp.com>
Tue, 12 Dec 2017 23:31:27 +0000 (15:31 -0800)
commit28dbe9a04b16f79db255baecbf0cd486c510ef58
tree854d8962d5266d1a15c20d976c3da88933a96d49
parentdb352bd0723e8d640bb034bc14e5ad193f0afe1d
altos/stm: Align 'data' to 8 bytes, just like textram

The textram section must be aligned to 8 bytes to keep the linker
happy. However, if that section contains no data, the declaration will
set the __data_start__ value to that alignment, but the data section
itself would start on a 4-byte alignment, potentially 4 bytes lower
than the value indicated by __data_start__. This completely scrambles
initialized memory as the startup code will copy the data segment to
__data_start__, 4 bytes off of the actual data segment start.

Fix this by forcing the data segment to also be aligned to 8 bytes.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/micropeak-v2.0/micropeak.ld
src/stm/altos-loader.ld
src/stmf0/altos-loader.ld