aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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