fix powerpc setjmp/longjmp to save/restore float regs; enlarge/align jmp_buf
This commit is contained in:
parent
0375c68fe7
commit
a50136dfe1
3 changed files with 37 additions and 1 deletions
|
|
@ -1 +1 @@
|
||||||
typedef unsigned long jmp_buf [64];
|
typedef unsigned long long jmp_buf [56];
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,24 @@ longjmp:
|
||||||
lwz 29, 72(3)
|
lwz 29, 72(3)
|
||||||
lwz 30, 76(3)
|
lwz 30, 76(3)
|
||||||
lwz 31, 80(3)
|
lwz 31, 80(3)
|
||||||
|
lfd 14,88(3)
|
||||||
|
lfd 15,96(3)
|
||||||
|
lfd 16,104(3)
|
||||||
|
lfd 17,112(3)
|
||||||
|
lfd 18,120(3)
|
||||||
|
lfd 19,128(3)
|
||||||
|
lfd 20,136(3)
|
||||||
|
lfd 21,144(3)
|
||||||
|
lfd 22,152(3)
|
||||||
|
lfd 23,160(3)
|
||||||
|
lfd 24,168(3)
|
||||||
|
lfd 25,176(3)
|
||||||
|
lfd 26,184(3)
|
||||||
|
lfd 27,192(3)
|
||||||
|
lfd 28,200(3)
|
||||||
|
lfd 29,208(3)
|
||||||
|
lfd 30,216(3)
|
||||||
|
lfd 31,224(3)
|
||||||
#5) put val into return reg r3
|
#5) put val into return reg r3
|
||||||
mr 3, 4
|
mr 3, 4
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,24 @@ setjmp:
|
||||||
stw 29, 72(3)
|
stw 29, 72(3)
|
||||||
stw 30, 76(3)
|
stw 30, 76(3)
|
||||||
stw 31, 80(3)
|
stw 31, 80(3)
|
||||||
|
stfd 14,88(3)
|
||||||
|
stfd 15,96(3)
|
||||||
|
stfd 16,104(3)
|
||||||
|
stfd 17,112(3)
|
||||||
|
stfd 18,120(3)
|
||||||
|
stfd 19,128(3)
|
||||||
|
stfd 20,136(3)
|
||||||
|
stfd 21,144(3)
|
||||||
|
stfd 22,152(3)
|
||||||
|
stfd 23,160(3)
|
||||||
|
stfd 24,168(3)
|
||||||
|
stfd 25,176(3)
|
||||||
|
stfd 26,184(3)
|
||||||
|
stfd 27,192(3)
|
||||||
|
stfd 28,200(3)
|
||||||
|
stfd 29,208(3)
|
||||||
|
stfd 30,216(3)
|
||||||
|
stfd 31,224(3)
|
||||||
# 4) set return value to 0
|
# 4) set return value to 0
|
||||||
li 3, 0
|
li 3, 0
|
||||||
# 5) return
|
# 5) return
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue