diff options
author | Vladimir Azarov <avm@intermediate-node.net> | 2024-10-01 15:47:05 +0200 |
---|---|---|
committer | Vladimir Azarov <avm@intermediate-node.net> | 2024-10-01 15:47:05 +0200 |
commit | 4abab5ad6c8465a7528ccdd5f49367da05f78bbd (patch) | |
tree | ebf009bf1376a5a223a915bc27cbbd791a1316bc /src/signal/powerpc |
Initial version
Diffstat (limited to 'src/signal/powerpc')
-rw-r--r-- | src/signal/powerpc/restore.s | 13 | ||||
-rw-r--r-- | src/signal/powerpc/sigsetjmp.s | 27 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/signal/powerpc/restore.s b/src/signal/powerpc/restore.s new file mode 100644 index 0000000..29c8afd --- /dev/null +++ b/src/signal/powerpc/restore.s @@ -0,0 +1,13 @@ + .global __restore + .hidden __restore + .type __restore,%function +__restore: + li 0, 119 #__NR_sigreturn + sc + + .global __restore_rt + .hidden __restore_rt + .type __restore_rt,%function +__restore_rt: + li 0, 172 # __NR_rt_sigreturn + sc diff --git a/src/signal/powerpc/sigsetjmp.s b/src/signal/powerpc/sigsetjmp.s new file mode 100644 index 0000000..152c3fe --- /dev/null +++ b/src/signal/powerpc/sigsetjmp.s @@ -0,0 +1,27 @@ + .global sigsetjmp + .global __sigsetjmp + .type sigsetjmp,%function + .type __sigsetjmp,%function +sigsetjmp: +__sigsetjmp: + cmpwi cr7, 4, 0 + beq- cr7, 1f + + mflr 5 + stw 5, 448(3) + stw 16, 448+4+8(3) + mr 16, 3 + +.hidden ___setjmp + bl ___setjmp + + mr 4, 3 + mr 3, 16 + lwz 5, 448(3) + mtlr 5 + lwz 16, 448+4+8(3) + +.hidden __sigsetjmp_tail + b __sigsetjmp_tail + +1: b ___setjmp |