diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S index 68c6321a9d..47235dd0cb 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S @@ -47,21 +47,6 @@ ENTRY(__CONTEXT_FUNC_NAME) cfi_offset(r31,-4) lwz r31,_UC_REGS_PTR(r3) - /* - * If this ucontext refers to the point where we were interrupted - * by a signal, we have to use the rt_sigreturn system call to - * return to the context so we get both LR and CTR restored. - * - * Otherwise, the context we are restoring is either just after - * a procedure call (getcontext/swapcontext) or at the beginning - * of a procedure call (makecontext), so we don't need to restore - * r0, xer, ctr. We don't restore r2 since it will be used as - * the TLS pointer. - */ - lwz r0,_UC_GREGS+(PT_MSR*4)(r31) - cmpwi r0,0 - bne 4f /* L(do_sigret) */ - /* Restore the signal mask */ li r5,0 addi r4,r3,_UC_SIGMASK @@ -296,11 +281,4 @@ ENTRY(__CONTEXT_FUNC_NAME) mtlr r0 blr - -4: /* L(do_sigret): */ - addi r1,r3,-0xd0 - li r0,SYS_ify(rt_sigreturn) - sc - /* NOTREACHED */ - END (__CONTEXT_FUNC_NAME) |