123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- #include <features.h>
- .text
- .global _start
- .type _start,%function
- #if defined L_crt0 || ! defined __UCLIBC_CTOR_DTOR__
- .type __uClibc_main,%function
- #else
- .weak _init
- .weak _fini
- .type __uClibc_start_main,%function
- #endif
- .type main,%function
- .text
- _start:
-
- mov fp, #0
- #ifdef __UCLIBC_HAS_MMU__
-
- ldr r0, [sp], #4
-
- mov r1, sp
-
- add r2, r1, r0, lsl #2
- add r2, r2, #4
- #else
-
-
- ldr r0,[sp, #0]
- ldr r1,[sp, #4]
- ldr r2,[sp, #8]
- #endif
- #if defined L_crt1 && defined __UCLIBC_CTOR_DTOR__
-
- ldr r3, =_init
-
- ldr r4, =_fini
- stmfd sp!, {r4}
-
- bl __uClibc_start_main
- #else
- bl __uClibc_main
- #endif
-
- bl abort
- .section ".note.ABI-tag", "a"
- .align 4
- .long 1f - 0f
- .long 3f - 2f
- .long 1
- 0: .asciz "GNU"
- 1: .align 4
- 2: .long 0
- .long 2,0,0
- 3: .align 4
|