mirror of
https://git.musl-libc.org/git/musl
synced 2025-01-23 22:52:23 +03:00
remove init/fini array asm from arm crti/crtn files
this code has been replaced by portable C code that works on all archs. the old asm needs to be removed or ctors/dtors will run twice.
This commit is contained in:
parent
3edfd07073
commit
976c0fdcb5
@ -1,29 +1,9 @@
|
|||||||
.section .init
|
.section .init
|
||||||
.global _init
|
.global _init
|
||||||
_init:
|
_init:
|
||||||
push {r0,r1,r2,r4,r5,lr}
|
push {r0,lr}
|
||||||
|
|
||||||
.weak __fini_array_start
|
|
||||||
.weak __fini_array_end
|
|
||||||
.hidden __fini_array_start
|
|
||||||
.hidden __fini_array_end
|
|
||||||
|
|
||||||
.section .fini
|
.section .fini
|
||||||
.global _fini
|
.global _fini
|
||||||
_fini:
|
_fini:
|
||||||
push {r4,r5,r6,lr}
|
push {r0,lr}
|
||||||
adr lr, 1f
|
|
||||||
ldr r4, 2f
|
|
||||||
ldr r5, 2f+4
|
|
||||||
add r4, r4, lr
|
|
||||||
add r5, r5, lr
|
|
||||||
1: adr lr, 1b
|
|
||||||
cmp r4, r5
|
|
||||||
beq 3f
|
|
||||||
ldmia r4!, {r3}
|
|
||||||
tst r3,#1
|
|
||||||
moveq pc,r3
|
|
||||||
bx r3
|
|
||||||
2: .word __fini_array_start-1b
|
|
||||||
.word __fini_array_end-1b
|
|
||||||
3:
|
|
||||||
|
@ -1,31 +1,11 @@
|
|||||||
.weak __init_array_start
|
|
||||||
.weak __init_array_end
|
|
||||||
.hidden __init_array_start
|
|
||||||
.hidden __init_array_end
|
|
||||||
|
|
||||||
.section .init
|
.section .init
|
||||||
adr lr, 1f
|
pop {r0,lr}
|
||||||
ldr r4, 2f
|
|
||||||
ldr r5, 2f+4
|
|
||||||
add r4, r4, lr
|
|
||||||
add r5, r5, lr
|
|
||||||
1: adr lr, 1b
|
|
||||||
cmp r4, r5
|
|
||||||
beq 3f
|
|
||||||
ldmia r4!, {r3}
|
|
||||||
ldm sp, {r0,r1,r2}
|
|
||||||
tst r3,#1
|
|
||||||
moveq pc,r3
|
|
||||||
bx r3
|
|
||||||
3: pop {r0,r1,r2,r4,r5,lr}
|
|
||||||
tst lr,#1
|
tst lr,#1
|
||||||
moveq pc,lr
|
moveq pc,lr
|
||||||
bx lr
|
bx lr
|
||||||
2: .word __init_array_start-1b
|
|
||||||
.word __init_array_end-1b
|
|
||||||
|
|
||||||
.section .fini
|
.section .fini
|
||||||
pop {r4,r5,r6,lr}
|
pop {r0,lr}
|
||||||
tst lr,#1
|
tst lr,#1
|
||||||
moveq pc,lr
|
moveq pc,lr
|
||||||
bx lr
|
bx lr
|
||||||
|
Loading…
Reference in New Issue
Block a user