diff options
Diffstat (limited to 'linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S')
-rw-r--r-- | linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S index efc9710d7b..d2faaa1c68 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S +++ b/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S @@ -27,7 +27,14 @@ and the process ID of the new process to the old process. */ ENTRY (__vfork) - SINGLE_THREAD_P +#ifdef SHARED + larl %r1,__libc_pthread_functions + lg %r1,0(%r1) +#else + .weak __pthread_fork + larl %r1,__pthread_fork +#endif + ltgr %r1,%r1 jgne HIDDEN_JUMPTARGET(__fork) /* Do vfork system call. */ |