Commit 4636b301 authored by Mike Frysinger's avatar Mike Frysinger Committed by Bryan Wu

Blackfin arch: add link-time asserts to make sure on-chip regions dont overflow

Signed-off-by: default avatarMike Frysinger <vapier.adi@gmail.com>
Signed-off-by: default avatarBryan Wu <cooloney@kernel.org>
parent 1eb19e30
...@@ -183,6 +183,7 @@ SECTIONS ...@@ -183,6 +183,7 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
__etext_l1 = .; __etext_l1 = .;
} }
ASSERT (SIZEOF(.text_l1) <= L1_CODE_LENGTH, "L1 text overflow!")
.data_l1 L1_DATA_A_START : AT(LOADADDR(.text_l1) + SIZEOF(.text_l1)) .data_l1 L1_DATA_A_START : AT(LOADADDR(.text_l1) + SIZEOF(.text_l1))
{ {
...@@ -200,6 +201,7 @@ SECTIONS ...@@ -200,6 +201,7 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
__ebss_l1 = .; __ebss_l1 = .;
} }
ASSERT (SIZEOF(.data_a_l1) <= L1_DATA_A_LENGTH, "L1 data A overflow!")
.data_b_l1 L1_DATA_B_START : AT(LOADADDR(.data_l1) + SIZEOF(.data_l1)) .data_b_l1 L1_DATA_B_START : AT(LOADADDR(.data_l1) + SIZEOF(.data_l1))
{ {
...@@ -214,6 +216,7 @@ SECTIONS ...@@ -214,6 +216,7 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
__ebss_b_l1 = .; __ebss_b_l1 = .;
} }
ASSERT (SIZEOF(.data_b_l1) <= L1_DATA_B_LENGTH, "L1 data B overflow!")
__l2_lma_start = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1); __l2_lma_start = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1);
...@@ -239,6 +242,7 @@ SECTIONS ...@@ -239,6 +242,7 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
__ebss_l2 = .; __ebss_l2 = .;
} }
ASSERT (SIZEOF(.text_data_l1) <= L2_LENGTH, "L2 overflow!")
/* Force trailing alignment of our init section so that when we /* Force trailing alignment of our init section so that when we
* free our init memory, we don't leave behind a partial page. * free our init memory, we don't leave behind a partial page.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment