From: Christian Riesch Date: Wed, 30 Nov 2011 22:27:37 +0000 (+0000) Subject: arm, arm926ejs: Fix clear bss loop for zero length bss X-Git-Tag: v2011.12-rc1~60^2~77 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8f1da53508c78789ebeea98a92a3f55c3f84dc5d;p=oweals%2Fu-boot.git arm, arm926ejs: Fix clear bss loop for zero length bss This patch fixes the clear bss loop for bss sections that have zero length, i.e., where __bss_start == __bss_end__. Signed-off-by: Christian Riesch Cc: Albert Aribaud --- diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S index 339c5ed6bd..bb4d00bf3f 100644 --- a/arch/arm/cpu/arm926ejs/start.S +++ b/arch/arm/cpu/arm926ejs/start.S @@ -301,10 +301,12 @@ clear_bss: #endif mov r2, #0x00000000 /* clear */ -clbss_l:str r2, [r0] /* clear loop... */ +clbss_l:cmp r0, r1 /* clear loop... */ + bhs clbss_e /* if reached end of bss, exit */ + str r2, [r0] add r0, r0, #4 - cmp r0, r1 - bne clbss_l + b clbss_l +clbss_e: #ifndef CONFIG_SPL_BUILD bl coloured_LED_init