[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