ARM: at91: lds: add test for SPL binary size and bss size
authorEugen.Hristev@microchip.com <Eugen.Hristev@microchip.com>
Wed, 28 Nov 2018 09:33:43 +0000 (09:33 +0000)
committerTom Rini <trini@konsulko.com>
Fri, 7 Dec 2018 13:13:44 +0000 (08:13 -0500)
Add test for the SPL binary size and the bss section size.
This will throw an error at build time if the SPL sections
do not fit in the designated RAM area, thus avoiding oversizing the SPL.

Based on original work by Wenyou Yang.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
arch/arm/mach-at91/arm926ejs/u-boot-spl.lds

index eca78f8104a6f025db51887935be07fa48cd46f5..b714e93b3b219cc8c885aa37268d29e03fabbb6e 100644 (file)
@@ -48,3 +48,13 @@ SECTIONS
                __bss_end = .;
        } >.sdram
 }
+
+#if defined(CONFIG_SPL_MAX_SIZE)
+ASSERT(__image_copy_end - __start < (CONFIG_SPL_MAX_SIZE), \
+       "SPL image too big");
+#endif
+
+#if defined(CONFIG_SPL_BSS_MAX_SIZE)
+ASSERT(__bss_end - __bss_start < (CONFIG_SPL_BSS_MAX_SIZE), \
+       "SPL image BSS too big");
+#endif