diff options
Diffstat (limited to 'libc/sysdeps/linux/ia64')
-rw-r--r-- | libc/sysdeps/linux/ia64/fork.S | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/ia64/fork.S b/libc/sysdeps/linux/ia64/fork.S index 0023a3be4..968bb1c73 100644 --- a/libc/sysdeps/linux/ia64/fork.S +++ b/libc/sysdeps/linux/ia64/fork.S @@ -24,7 +24,10 @@ /* pid_t fork(void); */ /* Implemented as a clone system call with parameters SIGCHLD and 0 */ -ENTRY(__libc_fork) +#ifdef __UCLIBC_HAS_THREADS__ +.weak fork +#endif +ENTRY(fork) alloc r2=ar.pfs,0,0,2,0 mov out0=SIGCHLD /* Return SIGCHLD when child finishes */ /* no other clone flags; nothing shared */ @@ -34,7 +37,8 @@ ENTRY(__libc_fork) cmp.eq p6,p0=-1,r10 (p6) br.cond.spnt.few __syscall_error ret -PSEUDO_END(__libc_fork) - -weak_alias (__libc_fork, fork) -libc_hidden_weak (fork) +PSEUDO_END(fork) +#ifdef __UCLIBC_HAS_THREADS__ +strong_alias(fork,__libc_fork) +#endif +libc_hidden_def(fork) |