aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/unix/sysv/linux/powerpc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-02-07 06:46:21 +0000
committerUlrich Drepper <drepper@redhat.com>2003-02-07 06:46:21 +0000
commit65c689907900378bc3daf394a40b6a046595caab (patch)
treeab2f37fdde74caf77e4c30e3fcec407214d89fb0 /linuxthreads/sysdeps/unix/sysv/linux/powerpc
parentce96c93de5d57d917d300c4c80ed8ffc9141a874 (diff)
downloadglibc-65c689907900378bc3daf394a40b6a046595caab.tar
glibc-65c689907900378bc3daf394a40b6a046595caab.tar.gz
glibc-65c689907900378bc3daf394a40b6a046595caab.tar.bz2
glibc-65c689907900378bc3daf394a40b6a046595caab.zip
Update.
2003-02-07 Jakub Jelinek <jakub@redhat.com> * tst-popen2.c: New test. * Makefile (tests): Add tst-popen2. * sysdeps/unix/sysv/linux/alpha/vfork.S (__vfork): Branch to __fork whenever libpthread.so is loaded. * sysdeps/unix/sysv/linux/i386/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/ia64/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise. * sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Likewise.
Diffstat (limited to 'linuxthreads/sysdeps/unix/sysv/linux/powerpc')
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S13
1 files changed, 11 insertions, 2 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
index 17590059b6..e85f662b7e 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
+++ b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
@@ -29,11 +29,20 @@
ENTRY (__vfork)
#ifdef __NR_vfork
-
- SINGLE_THREAD_P
# ifdef SHARED
+ mflr 9
+ bl _GLOBAL_OFFSET_TABLE_@local-4
+ mflr 10
+ mtlr 9
+ lwz 10,__libc_pthread_functions@got(10)
+ lwz 10,0(10)
+ cmpwi 10,0
bne- HIDDEN_JUMPTARGET(__fork)
# else
+ .weak __pthread_fork
+ lis 9,__pthread_fork@ha
+ la 9,__pthread_fork@l(9)
+ cmpwi 9,0
bne- .Lhidden_fork
# endif