summary refs log tree commit diff
path: root/linuxthreads
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
parent1f503475a56b198a86cd7df1a3869aec81baf1eb (diff)
downloadglibc-4053ccfddfd0905357fd89890b694a1b63887f13.tar.gz
glibc-4053ccfddfd0905357fd89890b694a1b63887f13.tar.xz
glibc-4053ccfddfd0905357fd89890b694a1b63887f13.zip
Branch to __fork whenever libpthread.so is loaded.
Diffstat (limited to 'linuxthreads')
-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