mirror of
git://git.musl-libc.org/musl
synced 2024-12-16 19:55:38 +00:00
badaa04acc
without these, calls may be resolved incorrectly if the calling code has been compiled to thumb instead of arm. it's not clear to me at this point whether crt_arch.h is even working if crt1.c is built as thumb; this needs testing. but the _init and _fini issues were known to cause crashes in static-linked apps when libc was built as thumb, and this commit should fix that issue.
18 lines
247 B
ArmAsm
18 lines
247 B
ArmAsm
.weak _init
|
|
.weak _fini
|
|
.global _start
|
|
.type _start,%function
|
|
_start:
|
|
mov fp,#0
|
|
mov lr,#0
|
|
ldr a2,[sp],#4
|
|
mov a3,sp
|
|
ldr a4,=_fini
|
|
str fp,[sp,#-4]!
|
|
str a1,[sp,#-4]!
|
|
str a4,[sp,#-4]!
|
|
ldr a4,=_init
|
|
ldr a1,=main
|
|
bl __libc_start_main
|
|
1: b 1b
|