summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-15 17:45:55 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-15 17:45:55 +0000
commitf23673fc71f75f509f4b4c0080fb975a939a462f (patch)
treef116cd9e9ad3983bd115d98dd91533048a520992 /sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
parentf05a41ebd3865694bfec31b385f661d23272296f (diff)
downloadglibc-f23673fc71f75f509f4b4c0080fb975a939a462f.tar.gz
Update.
2004-12-15 Jakub Jelinek <jakub@redhat.com> * nis/nis_domain_of_r.c (nis_domain_of_r): Use libnsl_hidden_def, not libnsl_hidden_proto. * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add support for NPTL where the PID is stored at userlevel and needs to be reset when CLONE_THREAD is not used. * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save and restore r2 around call to fn.
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
index 61a35a2f79..f6ce115077 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
@@ -104,12 +104,14 @@ L(nomoregetpid):
L(oldpid):
#endif
+ std r2,40(r1)
/* Call procedure. */
ld r0,0(r29)
ld r2,8(r29)
mtctr r0
mr r3,r31
bctrl
+ ld r2,40(r1)
/* Call _exit with result from procedure. */
#ifdef SHARED
b JUMPTARGET(__GI__exit)