diff --git a/bl1/bl1.ld.S b/bl1/bl1.ld.S index 49dda855e..d25ec63fb 100644 --- a/bl1/bl1.ld.S +++ b/bl1/bl1.ld.S @@ -36,6 +36,9 @@ SECTIONS { #if SEPARATE_CODE_AND_RODATA .text . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".text address is not aligned on a page boundary."); + __TEXT_START__ = .; *bl1_entrypoint.o(.text*) @@ -80,6 +83,9 @@ SECTIONS { } >ROM #else /* SEPARATE_CODE_AND_RODATA */ .ro . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".ro address is not aligned on a page boundary."); + __RO_START__ = .; *bl1_entrypoint.o(.text*) diff --git a/bl2/bl2.ld.S b/bl2/bl2.ld.S index db83a0c50..310e6fe78 100644 --- a/bl2/bl2.ld.S +++ b/bl2/bl2.ld.S @@ -25,6 +25,9 @@ SECTIONS { #if SEPARATE_CODE_AND_RODATA .text . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".text address is not aligned on a page boundary."); + __TEXT_START__ = .; #if ENABLE_RME @@ -65,6 +68,9 @@ SECTIONS { } >RAM #else /* SEPARATE_CODE_AND_RODATA */ .ro . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".ro address is not aligned on a page boundary."); + __RO_START__ = .; *bl2_entrypoint.o(.text*) diff --git a/bl2/bl2_el3.ld.S b/bl2/bl2_el3.ld.S index 4aa5cb045..811f41e14 100644 --- a/bl2/bl2_el3.ld.S +++ b/bl2/bl2_el3.ld.S @@ -55,6 +55,9 @@ SECTIONS { #if SEPARATE_CODE_AND_RODATA .text . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".text address is not aligned on a page boundary."); + __TEXT_START__ = .; __TEXT_RESIDENT_START__ = .; @@ -89,6 +92,9 @@ SECTIONS { "Resident part of BL2 has exceeded its limit.") #else /* SEPARATE_CODE_AND_RODATA */ .ro . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".ro address is not aligned on a page boundary."); + __RO_START__ = .; __TEXT_RESIDENT_START__ = .; diff --git a/bl2u/bl2u.ld.S b/bl2u/bl2u.ld.S index 7b1a10103..ee6a02065 100644 --- a/bl2u/bl2u.ld.S +++ b/bl2u/bl2u.ld.S @@ -27,6 +27,9 @@ SECTIONS { #if SEPARATE_CODE_AND_RODATA .text . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".text address is not aligned on a page boundary."); + __TEXT_START__ = .; *bl2u_entrypoint.o(.text*) @@ -60,6 +63,9 @@ SECTIONS { } >RAM #else /* SEPARATE_CODE_AND_RODATA */ .ro . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".ro address is not aligned on a page boundary."); + __RO_START__ = .; *bl2u_entrypoint.o(.text*) diff --git a/bl31/bl31.ld.S b/bl31/bl31.ld.S index 773b41d3e..8698dffd4 100644 --- a/bl31/bl31.ld.S +++ b/bl31/bl31.ld.S @@ -37,6 +37,9 @@ SECTIONS { #if SEPARATE_CODE_AND_RODATA .text . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".text is not aligned on a page boundary."); + __TEXT_START__ = .; *bl31_entrypoint.o(.text*) @@ -71,6 +74,9 @@ SECTIONS { } >RAM #else /* SEPARATE_CODE_AND_RODATA */ .ro . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".ro is not aligned on a page boundary."); + __RO_START__ = .; *bl31_entrypoint.o(.text*) diff --git a/bl32/sp_min/sp_min.ld.S b/bl32/sp_min/sp_min.ld.S index dd8197332..a2d9b7bf6 100644 --- a/bl32/sp_min/sp_min.ld.S +++ b/bl32/sp_min/sp_min.ld.S @@ -29,6 +29,9 @@ SECTIONS { #if SEPARATE_CODE_AND_RODATA .text . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".text address is not aligned on a page boundary."); + __TEXT_START__ = .; *entrypoint.o(.text*) @@ -67,6 +70,9 @@ SECTIONS { } >RAM #else /* SEPARATE_CODE_AND_RODATA */ .ro . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".ro address is not aligned on a page boundary."); + __RO_START__ = .; *entrypoint.o(.text*) diff --git a/bl32/tsp/tsp.ld.S b/bl32/tsp/tsp.ld.S index 22bf11dad..5116b20ac 100644 --- a/bl32/tsp/tsp.ld.S +++ b/bl32/tsp/tsp.ld.S @@ -25,6 +25,9 @@ SECTIONS { #if SEPARATE_CODE_AND_RODATA .text . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".text address is not aligned on a page boundary."); + __TEXT_START__ = .; *tsp_entrypoint.o(.text*) @@ -51,6 +54,9 @@ SECTIONS { } >RAM #else /* SEPARATE_CODE_AND_RODATA */ .ro . : { + ASSERT(. == ALIGN(PAGE_SIZE), + ".ro address is not aligned on a page boundary."); + __RO_START__ = .; *tsp_entrypoint.o(.text*)