aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
authorMike Frysinger <vapier.adi@gmail.com>2009-03-28 12:47:31 -0400
committerBryan Wu <cooloney@kernel.org>2009-03-28 12:47:31 -0400
commit4636b3019a76aacc5b01e14bd14cb468fb00940f (patch)
tree88631df7dffc436f86891acebc709d8fd0a1668c /arch/blackfin
parent1eb19e30adeb05957b45204f0c04d94fc4662ffd (diff)
Blackfin arch: add link-time asserts to make sure on-chip regions dont overflow
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin')
-rw-r--r--arch/blackfin/kernel/vmlinux.lds.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S
index 4b4341da0585..27952ae047d8 100644
--- a/arch/blackfin/kernel/vmlinux.lds.S
+++ b/arch/blackfin/kernel/vmlinux.lds.S
@@ -183,6 +183,7 @@ SECTIONS
183 . = ALIGN(4); 183 . = ALIGN(4);
184 __etext_l1 = .; 184 __etext_l1 = .;
185 } 185 }
186 ASSERT (SIZEOF(.text_l1) <= L1_CODE_LENGTH, "L1 text overflow!")
186 187
187 .data_l1 L1_DATA_A_START : AT(LOADADDR(.text_l1) + SIZEOF(.text_l1)) 188 .data_l1 L1_DATA_A_START : AT(LOADADDR(.text_l1) + SIZEOF(.text_l1))
188 { 189 {
@@ -200,6 +201,7 @@ SECTIONS
200 . = ALIGN(4); 201 . = ALIGN(4);
201 __ebss_l1 = .; 202 __ebss_l1 = .;
202 } 203 }
204 ASSERT (SIZEOF(.data_a_l1) <= L1_DATA_A_LENGTH, "L1 data A overflow!")
203 205
204 .data_b_l1 L1_DATA_B_START : AT(LOADADDR(.data_l1) + SIZEOF(.data_l1)) 206 .data_b_l1 L1_DATA_B_START : AT(LOADADDR(.data_l1) + SIZEOF(.data_l1))
205 { 207 {
@@ -214,6 +216,7 @@ SECTIONS
214 . = ALIGN(4); 216 . = ALIGN(4);
215 __ebss_b_l1 = .; 217 __ebss_b_l1 = .;
216 } 218 }
219 ASSERT (SIZEOF(.data_b_l1) <= L1_DATA_B_LENGTH, "L1 data B overflow!")
217 220
218 __l2_lma_start = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1); 221 __l2_lma_start = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1);
219 222
@@ -239,6 +242,7 @@ SECTIONS
239 . = ALIGN(4); 242 . = ALIGN(4);
240 __ebss_l2 = .; 243 __ebss_l2 = .;
241 } 244 }
245 ASSERT (SIZEOF(.text_data_l1) <= L2_LENGTH, "L2 overflow!")
242 246
243 /* Force trailing alignment of our init section so that when we 247 /* Force trailing alignment of our init section so that when we
244 * free our init memory, we don't leave behind a partial page. 248 * free our init memory, we don't leave behind a partial page.