fix powerpc setjmp/longjmp to save/restore float regs; enlarge/align jmp_buf
[musl] / src / setjmp / powerpc / setjmp.s
index 27c975e..e39687a 100644 (file)
@@ -1,9 +1,9 @@
-        .global __setjmp
-        .global _setjmp
-        .global setjmp
-        .type   __setjmp,@function
-        .type   _setjmp,@function
-        .type   setjmp,@function
+       .global __setjmp
+       .global _setjmp
+       .global setjmp
+       .type   __setjmp,@function
+       .type   _setjmp,@function
+       .type   setjmp,@function
 __setjmp:
 _setjmp:
 setjmp:
@@ -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