aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-02-20 22:23:34 +0000
committerUlrich Drepper <drepper@redhat.com>2003-02-20 22:23:34 +0000
commit0585697658a4f4afd4b9811b7a3f73ff820a20d8 (patch)
treed8b46217cefa61586a014dafb6bb4f87a09224c0 /linuxthreads
parenta592f998bb64e8760f9e67170341793cf70ada12 (diff)
downloadglibc-0585697658a4f4afd4b9811b7a3f73ff820a20d8.tar
glibc-0585697658a4f4afd4b9811b7a3f73ff820a20d8.tar.gz
glibc-0585697658a4f4afd4b9811b7a3f73ff820a20d8.tar.bz2
glibc-0585697658a4f4afd4b9811b7a3f73ff820a20d8.zip
Update.
2002-07-24 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Yield ENODEV on unknown systems. 2003-02-20 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * sysdeps/powerpc/powerpc32/atomicity.h: Remove compiler workaround. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_NEW_PRCTL_SYSCALL): Defined for ppc32 too. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fe_nomask.c: Use prctl if possible. * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Avoid short interprocedure branches. * sysdeps/powerpc/soft-fp/Dist (sim-full.c, fenv_const.c): Move to... * sysdeps/powerpc/nofpu/Dist: ...here. * sysdeps/unix/sysv/linux/powerpc/Dist (fe_nomask.c): Move to... * sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: ...here. * sysdeps/unix/sysv/linux/s390/s390-64/Dist (kernel_stat.h): Delete. * sysdeps/unix/sysv/linux/sparc/Dist (bits/utmpx.h): Delete. * sysdeps/unix/sysv/linux/x86_64/Dist (bits/utmpx.h): Delete.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S29
2 files changed, 17 insertions, 17 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index f05881dd82..8a7ba0eaa3 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-20 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Avoid short
+ interprocedure branches.
+
2003-02-19 Ulrich Drepper <drepper@redhat.com>
* specific.c (pthread_key_delete_helper): Don't use GETMEM, we
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
index 5054d5f984..ee6254a950 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
+++ b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
@@ -36,16 +36,15 @@ ENTRY (__vfork)
mtlr 9
lwz 10,__libc_pthread_functions@got(10)
lwz 10,0(10)
- cmpwi 10,0
- bne- HIDDEN_JUMPTARGET(__fork)
# else
.weak pthread_create
- lis 9,pthread_create@ha
- la 9,pthread_create@l(9)
- cmpwi 9,0
- bne- .Lhidden_fork
+ lis 10,pthread_create@ha
+ la 10,pthread_create@l(10)
# endif
+ cmpwi 10,0
+ bne- .Lhidden_fork
+
DO_CALL (SYS_ify (vfork));
# ifdef __ASSUME_VFORK_SYSCALL
@@ -54,28 +53,24 @@ ENTRY (__vfork)
bnslr+
/* Check if vfork syscall is known at all. */
cmpwi r3,ENOSYS
-# ifdef SHARED
- bne JUMPTARGET(__syscall_error)
-# else
- bne .Lsyscall_error
-# endif
+ bne- .Lsyscall_error
# endif
+
+.Lhidden_fork:
+ b HIDDEN_JUMPTARGET(__fork)
+
#endif
#ifndef __ASSUME_VFORK_SYSCALL
/* If we don't have vfork, fork is close enough. */
DO_CALL (SYS_ify (fork));
- PSEUDO_RET
-#endif
+ bnslr+
-# ifndef SHARED
-.Lhidden_fork:
- b HIDDEN_JUMPTARGET(__fork)
.Lsyscall_error:
b JUMPTARGET(__syscall_error)
-# endif
+#endif
PSEUDO_END (__vfork)
libc_hidden_def (__vfork)