From 514cc1c190300af2bdfd94a0ae1a37d416d3c125 Mon Sep 17 00:00:00 2001 From: Marti Bolivar Date: Tue, 13 Sep 2011 03:23:03 -0400 Subject: [support/ld] Unify linker scripts. Add new common.inc, which is common_rom.inc with some DEFINED(_FLASH_BUILD) usages thrown in to allow for RAM builds. It also uses a new REGION_RODATA region alias for read-only data. Move section .USER_FLASH to REGION_RODATA. This means it lives in RAM under RAM builds. Although this might be surprising, not doing so would make RAM builds useless. Modify the individual board linker scripts to properly set REGION_RODATA and _FLASH_BUILD before calling out to common.inc. Delete common_rom.inc, common_ram.inc, common_header.inc, in favor of common.inc. This should fix RAM builds on all boards. --- support/ld/maple_RET6/flash.ld | 4 +++- support/ld/maple_RET6/jtag.ld | 4 +++- support/ld/maple_RET6/ram.ld | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) (limited to 'support/ld/maple_RET6') diff --git a/support/ld/maple_RET6/flash.ld b/support/ld/maple_RET6/flash.ld index 524ed71..4cf9c4b 100644 --- a/support/ld/maple_RET6/flash.ld +++ b/support/ld/maple_RET6/flash.ld @@ -14,5 +14,7 @@ GROUP(libcs3_stm32_high_density.a) REGION_ALIAS("REGION_TEXT", rom); REGION_ALIAS("REGION_DATA", ram); REGION_ALIAS("REGION_BSS", ram); +REGION_ALIAS("REGION_RODATA", rom); -INCLUDE common_rom.inc +_FLASH_BUILD = 1; +INCLUDE common.inc diff --git a/support/ld/maple_RET6/jtag.ld b/support/ld/maple_RET6/jtag.ld index 3a8e41f..6055dfb 100644 --- a/support/ld/maple_RET6/jtag.ld +++ b/support/ld/maple_RET6/jtag.ld @@ -14,5 +14,7 @@ GROUP(libcs3_stm32_high_density.a) REGION_ALIAS("REGION_TEXT", rom); REGION_ALIAS("REGION_DATA", ram); REGION_ALIAS("REGION_BSS", ram); +REGION_ALIAS("REGION_RODATA", rom); -INCLUDE common_rom.inc +_FLASH_BUILD = 1; +INCLUDE common.inc diff --git a/support/ld/maple_RET6/ram.ld b/support/ld/maple_RET6/ram.ld index 787eb31..a4c273b 100644 --- a/support/ld/maple_RET6/ram.ld +++ b/support/ld/maple_RET6/ram.ld @@ -14,5 +14,6 @@ GROUP(libcs3_stm32_high_density.a) REGION_ALIAS("REGION_TEXT", ram); REGION_ALIAS("REGION_DATA", ram); REGION_ALIAS("REGION_BSS", ram); +REGION_ALIAS("REGION_RODATA", ram); -INCLUDE common_ram.inc +INCLUDE common.inc -- cgit v1.2.3