summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/crt_arch.h10
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"
);