about summary refs log tree commit diff
path: root/arch/arm/crt_arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/crt_arch.h')
-rw-r--r--arch/arm/crt_arch.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/arch/arm/crt_arch.h b/arch/arm/crt_arch.h
index bed99c27..d1f9a662 100644
--- a/arch/arm/crt_arch.h
+++ b/arch/arm/crt_arch.h
@@ -1,10 +1,15 @@
-__asm__("\
-.global _start \n\
-.type _start,%function \n\
-_start: \n\
-	mov fp, #0 \n\
-	mov lr, #0 \n\
-	mov a1, sp \n\
-	and sp, sp, #-16 \n\
-	bl __cstart \n\
-");
+__asm__(
+".global " START " \n"
+".type " START ",%function \n"
+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"
+"	bl " START "_c \n"
+".weak _DYNAMIC \n"
+".hidden _DYNAMIC \n"
+"1:	.word _DYNAMIC-2b-8 \n"
+);