mirror of
git://git.musl-libc.org/musl
synced 2024-11-23 18:14:19 +08:00
add function types to arm crt assembly
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.
This commit is contained in:
parent
c221af9516
commit
badaa04acc
@ -1,5 +1,6 @@
|
||||
__asm__("\
|
||||
.global _start \n\
|
||||
.type _start,%function \n\
|
||||
_start: \n\
|
||||
mov fp, #0 \n\
|
||||
mov lr, #0 \n\
|
||||
|
@ -1,6 +1,7 @@
|
||||
.weak _init
|
||||
.weak _fini
|
||||
.global _start
|
||||
.type _start,%function
|
||||
_start:
|
||||
mov fp,#0
|
||||
mov lr,#0
|
||||
|
@ -1,9 +1,11 @@
|
||||
.section .init
|
||||
.global _init
|
||||
.type _init,%function
|
||||
_init:
|
||||
push {r0,lr}
|
||||
|
||||
.section .fini
|
||||
.global _fini
|
||||
.type _fini,%function
|
||||
_fini:
|
||||
push {r0,lr}
|
||||
|
Loading…
Reference in New Issue
Block a user