aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2003-02-08 00:19:21 +0000
committerAndreas Schwab <schwab@suse.de>2003-02-08 00:19:21 +0000
commit4053ccfddfd0905357fd89890b694a1b63887f13 (patch)
tree07656dac3d0d1e50d0a0f2e69aed41e8ad7fbc3b /linuxthreads/sysdeps/unix/sysv/linux
parent1f503475a56b198a86cd7df1a3869aec81baf1eb (diff)
downloadglibc-4053ccfddfd0905357fd89890b694a1b63887f13.tar
glibc-4053ccfddfd0905357fd89890b694a1b63887f13.tar.gz
glibc-4053ccfddfd0905357fd89890b694a1b63887f13.tar.bz2
glibc-4053ccfddfd0905357fd89890b694a1b63887f13.zip
Branch to __fork whenever libpthread.so is loaded.
Diffstat (limited to 'linuxthreads/sysdeps/unix/sysv/linux')
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S11
1 files changed, 8 insertions, 3 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S b/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S
index ba25cb1f3b..475bb6ea7b 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S
+++ b/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S
@@ -29,11 +29,16 @@
ENTRY (__vfork)
-#ifdef __NR_vfork
-
- SINGLE_THREAD_P
+#ifdef SHARED
+ tstl (__libc_pthread_functions@GOTPC, %pc)
+#else
+ .weak __pthread_fork
+ movel #__pthread_fork, %d0
+#endif
jbne HIDDEN_JUMPTARGET (__fork)
+#ifdef __NR_vfork
+
/* Pop the return PC value into A0. */
movel %sp@+, %a0