diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-02-01 20:53:16 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-02-01 20:53:16 +0000 |
commit | 38e68573bc08179bb9418038e7c2db7e576eaea5 (patch) | |
tree | fac3119a1783cc465b6ff578da410897c4163c00 /sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S | |
parent | 4a7d6545ce1611c0a320f3210d46d5bd3a03b260 (diff) | |
download | glibc-38e68573bc08179bb9418038e7c2db7e576eaea5.tar.gz glibc-38e68573bc08179bb9418038e7c2db7e576eaea5.tar.xz glibc-38e68573bc08179bb9418038e7c2db7e576eaea5.zip |
Update.
2003-02-01 Ulrich Drepper <drepper@redhat.com> * time/tzfile.c (__tzfile_compute): Change return value type to void. Adjust return statements. * include/time.h (__tzfile_compute): Adjust prototype. 2003-02-01 Jim Meyering <jim@meyering.net> * time/tzset.c (__tz_convert): Remove dead code; __tzfile_compute always returns 1. 2003-01-31 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c [!__ASSUME_NEW_PRCTL_SYSCALL]: Noop prctl syscall and set ENOSYS. 2003-01-31 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Generate ENOSYS stub. * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise. 2003-01-31 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/unix/sysv/linux/configure.in: Change arch_minimum_kernel back to 2.4.19 for powerpc64. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_NEW_PRCTL_SYSCALL): Define for powerpc64. (__ASSUME_NEW_RT_SIGRETURN_SYSCALL): Define for powerpc64. 2003-02-01 Ulrich Drepper <drepper@redhat.com> * wcsmbs/wcscpy.c (wcscpy): Add alternative implementation for platforms with strange alignment requirements on wchar_t.
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S index 23422fb948..b1bcd44af1 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S @@ -22,8 +22,10 @@ #define __ASSEMBLY__ #include <asm/ptrace.h> #include "ucontext_i.h" +#include <asm/errno.h> ENTRY(__swapcontext) +#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL std r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3) std r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3) mflr r0 @@ -128,7 +130,7 @@ ENTRY(__swapcontext) addi r5,r3,UCONTEXT_SIGMASK addi r4,r4,UCONTEXT_SIGMASK li r3,SIG_SETMASK - bl .sigprocmask + bl JUMPTARGET(sigprocmask) nop cmpdi r3,0 bne L(error_exit) @@ -251,6 +253,20 @@ L(do_sigret): li r0,SYS_ify(rt_sigreturn) sc /* No return. */ +#else + /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub. */ + mflr r0 + std r0,FRAME_LR_SAVE(r1) + stdu r1,-128(r1) + li r3,ENOSYS + bl JUMPTARGET(__syscall_error) + nop + li r3,-1 + ld r0,128+FRAME_LR_SAVE(r1) + addi r1,r1,128 + mtlr r0 + blr +#endif PSEUDO_END(__swapcontext) |