diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/crt_arch.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/crt_arch.h b/arch/arm/crt_arch.h index d1f9a662..fcf95273 100644 --- a/arch/arm/crt_arch.h +++ b/arch/arm/crt_arch.h @@ -4,12 +4,14 @@ __asm__( START ": \n" " mov fp, #0 \n" " mov lr, #0 \n" -" mov a1, sp \n" " ldr a2, 1f \n" -"2: add a2, pc, a2 \n" -" and sp, sp, #-16 \n" +" add a2, pc, a2 \n" +" mov a1, sp \n" +"2: and ip, a1, #-16 \n" +" mov sp, ip \n" " bl " START "_c \n" ".weak _DYNAMIC \n" ".hidden _DYNAMIC \n" -"1: .word _DYNAMIC-2b-8 \n" +".align 2 \n" +"1: .word _DYNAMIC-2b \n" ); |