This linker script is so unreadable due to sprinkled #ifdef.
Direct read-only data to 'ROM' and read-write data to 'RAM'.
Both go to the same memory device when BL2_IN_XIP_MEM is disabled.
Change-Id: Ieeac3f1a4e05e9e8599de2ec84260819c70f361e
Signed-off-by: Masahiro Yamada <[email protected]>
#endif
}
+#if !BL2_IN_XIP_MEM
+#define ROM RAM
+#endif
SECTIONS
{
*(.vectors)
. = ALIGN(PAGE_SIZE);
__TEXT_END__ = .;
-#if BL2_IN_XIP_MEM
} >ROM
-#else
- } >RAM
-#endif
.rodata . : {
__RODATA_START__ = .;
. = ALIGN(PAGE_SIZE);
__RODATA_END__ = .;
-#if BL2_IN_XIP_MEM
} >ROM
-#else
- } >RAM
-#endif
ASSERT(__TEXT_RESIDENT_END__ - __TEXT_RESIDENT_START__ <= PAGE_SIZE,
"Resident part of BL2 has exceeded its limit.")
. = ALIGN(PAGE_SIZE);
__RO_END__ = .;
-#if BL2_IN_XIP_MEM
} >ROM
-#else
- } >RAM
-#endif
#endif
ASSERT(__CPU_OPS_END__ > __CPU_OPS_START__,
__DATA_RAM_START__ = .;
*(.data*)
__DATA_RAM_END__ = .;
-#if BL2_IN_XIP_MEM
} >RAM AT>ROM
-#else
- } >RAM
-#endif
stacks (NOLOAD) : {
__STACKS_START__ = .;