diff options
| author | Rich Felker <dalias@aerifal.cx> | 2012-11-23 14:30:58 -0500 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2012-11-23 14:30:58 -0500 | 
| commit | a50136dfe186a3ea3d78a4264187915ad16ab861 (patch) | |
| tree | bdee28a332ff45d9598ad317476f265ac55b481d /src | |
| parent | 0375c68fe7ed39b1173b62574936152645624078 (diff) | |
| download | musl-a50136dfe186a3ea3d78a4264187915ad16ab861.tar.gz | |
fix powerpc setjmp/longjmp to save/restore float regs; enlarge/align jmp_buf
Diffstat (limited to 'src')
| -rw-r--r-- | src/setjmp/powerpc/longjmp.s | 18 | ||||
| -rw-r--r-- | src/setjmp/powerpc/setjmp.s | 18 | 
2 files changed, 36 insertions, 0 deletions
| diff --git a/src/setjmp/powerpc/longjmp.s b/src/setjmp/powerpc/longjmp.s index fd61ae7b..bab17511 100644 --- a/src/setjmp/powerpc/longjmp.s +++ b/src/setjmp/powerpc/longjmp.s @@ -35,6 +35,24 @@ longjmp:  	lwz 29, 72(3)  	lwz 30, 76(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  	mr 3, 4 diff --git a/src/setjmp/powerpc/setjmp.s b/src/setjmp/powerpc/setjmp.s index eaf7b684..e39687aa 100644 --- a/src/setjmp/powerpc/setjmp.s +++ b/src/setjmp/powerpc/setjmp.s @@ -34,6 +34,24 @@ setjmp:  	stw 29, 72(3)  	stw 30, 76(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  	li 3, 0  	# 5) return | 
