aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-09-24 03:22:56 +0000
committerUlrich Drepper <drepper@redhat.com>2003-09-24 03:22:56 +0000
commit54ee14b3882bc7f2fcace383ee12da765e86e2ee (patch)
tree63e8a3a0e4eba8a081f0db111d6df51668ebaf3c /sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
parent16a76cd23ce9d3924fa192395e730423e3dc8b36 (diff)
downloadglibc-54ee14b3882bc7f2fcace383ee12da765e86e2ee.tar
glibc-54ee14b3882bc7f2fcace383ee12da765e86e2ee.tar.gz
glibc-54ee14b3882bc7f2fcace383ee12da765e86e2ee.tar.bz2
glibc-54ee14b3882bc7f2fcace383ee12da765e86e2ee.zip
Update.
2003-09-23 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions [libc] (GLIBC_2.3.3): Add setcontext, getcontext, swapcontext, and makecontext. * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Correct change for include Altivec support for PPC32. It was not compatible. * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: Adjust offsets for ucontext_t change. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Adjust for ucontext_t change. Add compatibility code. * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. Patch by Paul Mackerras <paulus@samba.org>. 2003-02-25 Randolph Chung <tausq@debian.org> * sysdeps/hppa/Makefile: Include compat code in build. * sysdeps/hppa/libgcc-compat.c: New file. * sysdeps/hppa/Dist: Add libgcc-compat.c. * sysdeps/hppa/Versions [GLIBC_2.2]: Add __clz_tab.
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S21
1 files changed, 18 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
index 1539b40f01..deb946137d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
@@ -18,6 +18,7 @@
02111-1307 USA. */
#include <sysdep.h>
+#include <shlib-compat.h>
#define __ASSEMBLY__
#include <asm/ptrace.h>
@@ -28,7 +29,7 @@ ENTRY(__setcontext)
stwu r1,-16(r1)
stw r0,20(r1)
stw r31,12(r1)
- mr r31,r3
+ lwz r31,_UC_REGS_PTR(r3)
/*
* If this ucontext refers to the point where we were interrupted
@@ -144,6 +145,20 @@ L(do_sigret):
sc
/* NOTREACHED */
-PSEUDO_END(__setcontext)
+PSEUDO_END (__setcontext)
-weak_alias(__setcontext, setcontext)
+versioned_symbol (libc, __setcontext, setcontext, GLIBC_2_3_3)
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_3)
+
+#define _ERRNO_H 1
+#include <bits/errno.h>
+
+ENTRY (__setcontext_stub)
+ li r3,ENOSYS
+ b JUMPTARGET(__syscall_error)
+ END (__setcontext_stub)
+
+compat_symbol (libc, __setcontext_stub, setcontext, GLIBC_2_0)
+
+#endif