[U-Boot] [PATCH v2] ARM: at91: lds: add test for SPL binary size and bss size

Eugen.Hristev at microchip.com Eugen.Hristev at microchip.com
Wed Nov 28 09:33:43 UTC 2018


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 at microchip.com>
---

This patch is a rework of the initial series:
[PATCH 0/4] at91: SPL size check for at91 boards

It should work fine for all the boards now, so keeping SPL enabled
for all the affected boards.

Thanks to Ben Whitten for testing and solution

Changes in v2:
 - replaced wrong variable __image_copy_start with __start


 arch/arm/mach-at91/arm926ejs/u-boot-spl.lds | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds b/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
index eca78f8..b714e93 100644
--- a/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
+++ b/arch/arm/mach-at91/arm926ejs/u-boot-spl.lds
@@ -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
-- 
2.7.4



More information about the U-Boot mailing list