diff options
-rw-r--r-- | linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S | 11 |
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 |