aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-02-01 20:53:16 +0000
committerUlrich Drepper <drepper@redhat.com>2003-02-01 20:53:16 +0000
commit38e68573bc08179bb9418038e7c2db7e576eaea5 (patch)
treefac3119a1783cc465b6ff578da410897c4163c00 /sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
parent4a7d6545ce1611c0a320f3210d46d5bd3a03b260 (diff)
downloadglibc-38e68573bc08179bb9418038e7c2db7e576eaea5.tar
glibc-38e68573bc08179bb9418038e7c2db7e576eaea5.tar.gz
glibc-38e68573bc08179bb9418038e7c2db7e576eaea5.tar.bz2
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/makecontext.S')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S16
1 files changed, 16 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
index 29dd17ffe4..08ce90177b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
@@ -22,8 +22,10 @@
#define __ASSEMBLY__
#include <asm/ptrace.h>
#include "ucontext_i.h"
+#include <asm/errno.h>
ENTRY(__makecontext)
+#ifdef __ASSUME_NEW_RT_SIGRETURN_SYSCALL
/* Save parameters into the parameter save area of callers frame. */
std r3,FRAME_PARM1_SAVE(r1) /* ucontext_t *ucp */
std r4,FRAME_PARM2_SAVE(r1) /* void (*func)(void) */
@@ -156,6 +158,20 @@ L(gotexitcodeaddr):
addi r1,r1,128
mtlr r0
blr
+#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
END(__makecontext)
weak_alias(__makecontext, makecontext)