diff options
author | Mike Frysinger <vapier.adi@gmail.com> | 2009-03-28 12:47:31 -0400 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2009-03-28 12:47:31 -0400 |
commit | 4636b3019a76aacc5b01e14bd14cb468fb00940f (patch) | |
tree | 88631df7dffc436f86891acebc709d8fd0a1668c /arch/blackfin | |
parent | 1eb19e30adeb05957b45204f0c04d94fc4662ffd (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.S | 4 |
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. |