mirror of
https://github.com/fluencelabs/musl
synced 2025-05-16 17:21:28 +00:00
lr must be saved because init/fini-section code from the compiler clobbers it. this was not a problem when i tested without gcc's crtbegin/crtend files present, but with them, musl on arm fails to work (infinite loop in _init).
12 lines
113 B
ArmAsm
12 lines
113 B
ArmAsm
.section .init
|
|
pop {lr}
|
|
tst lr,#1
|
|
moveq pc,lr
|
|
bx lr
|
|
|
|
.section .fini
|
|
pop {lr}
|
|
tst lr,#1
|
|
moveq pc,lr
|
|
bx lr
|