From 7669d1e334e6b96455eece78da43bf830b93d697 Mon Sep 17 00:00:00 2001 From: Richard Pennington Date: Fri, 9 Nov 2012 23:32:57 +0100 Subject: import preliminary ppc work by rdp. --- src/signal/ppc/restore.S | 13 +++++++++++++ src/signal/ppc/sigsetjmp.S | 12 ++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 src/signal/ppc/restore.S create mode 100644 src/signal/ppc/sigsetjmp.S (limited to 'src/signal') diff --git a/src/signal/ppc/restore.S b/src/signal/ppc/restore.S new file mode 100644 index 00000000..50887e91 --- /dev/null +++ b/src/signal/ppc/restore.S @@ -0,0 +1,13 @@ +#include +#include + .global __restore + .type __restore,@function +__restore: + li r0, __NR_sigreturn + sc + + .global __restore_rt + .type __restore_rt,@function +__restore_rt: + li r0, __NR_rt_sigreturn + sc diff --git a/src/signal/ppc/sigsetjmp.S b/src/signal/ppc/sigsetjmp.S new file mode 100644 index 00000000..527ef8e4 --- /dev/null +++ b/src/signal/ppc/sigsetjmp.S @@ -0,0 +1,12 @@ +#include + .global sigsetjmp + .type sigsetjmp,@function +sigsetjmp: + lwz r4, 64*4-2*4(r3) // Second last long. + cmpi r4, 0, r4, 0 + bne r4, 1f + addi r5, r3, 64*4-1*4 // Address of last long. + li r4, 0 + li r3, 2 + bl sigprocmask +1: b setjmp -- cgit v1.2.1