38 lines
656 B
ArmAsm
38 lines
656 B
ArmAsm
|
.global sigsetjmp
|
||
|
.global __sigsetjmp
|
||
|
.type sigsetjmp,%function
|
||
|
.type __sigsetjmp,%function
|
||
|
.hidden __setjmp_toc
|
||
|
sigsetjmp:
|
||
|
__sigsetjmp:
|
||
|
addis 2, 12, .TOC.-__sigsetjmp@ha
|
||
|
addi 2, 2, .TOC.-__sigsetjmp@l
|
||
|
ld 5, 24(1) # load from the TOC slot in the caller's stack frame
|
||
|
b 1f
|
||
|
|
||
|
.localentry sigsetjmp,.-sigsetjmp
|
||
|
.localentry __sigsetjmp,.-__sigsetjmp
|
||
|
mr 5, 2
|
||
|
|
||
|
1:
|
||
|
cmpwi cr7, 4, 0
|
||
|
beq- cr7, __setjmp_toc
|
||
|
|
||
|
mflr 6
|
||
|
std 6, 512(3)
|
||
|
std 2, 512+16(3)
|
||
|
std 16, 512+24(3)
|
||
|
mr 16, 3
|
||
|
|
||
|
bl __setjmp_toc
|
||
|
|
||
|
mr 4, 3
|
||
|
mr 3, 16
|
||
|
ld 5, 512(3)
|
||
|
mtlr 5
|
||
|
ld 2, 512+16(3)
|
||
|
ld 16, 512+24(3)
|
||
|
|
||
|
.hidden __sigsetjmp_tail
|
||
|
b __sigsetjmp_tail
|