diff options
| author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2006-02-28 00:54:02 +0000 |
|---|---|---|
| committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2006-02-28 00:54:02 +0000 |
| commit | 5eb1fae2a97ffc88d136502ace050662e57ef34a (patch) | |
| tree | df1087921ff9a88aa8a47ddfd55dc15a793fec56 /libc/sysdeps/linux/nios/vfork.S | |
| parent | dc0e95c67d350ca9e950abb5f75a63833380af9f (diff) | |
| download | uClibc-alpine-5eb1fae2a97ffc88d136502ace050662e57ef34a.tar.bz2 uClibc-alpine-5eb1fae2a97ffc88d136502ace050662e57ef34a.tar.xz | |
Merge from trunk.
Diffstat (limited to 'libc/sysdeps/linux/nios/vfork.S')
| -rw-r--r-- | libc/sysdeps/linux/nios/vfork.S | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/libc/sysdeps/linux/nios/vfork.S b/libc/sysdeps/linux/nios/vfork.S index 22b3c30cd..f8a6d031c 100644 --- a/libc/sysdeps/linux/nios/vfork.S +++ b/libc/sysdeps/linux/nios/vfork.S @@ -9,7 +9,11 @@ * * Written by Wentao Xu <wentao@microtronix.com> */ -#include <asm/unistd.h> + +#include <features.h> + +#include <bits/errno.h> +#include <sys/syscall.h> #include "NM_Macros.S" #ifndef __NR_vfork @@ -18,15 +22,10 @@ .text .align 2 - .globl errno - .globl vfork - .globl __libc_vfork -#if defined __HAVE_ELF__ - .type vfork,@function - .type __libc_vfork,@function -#endif -vfork: -__libc_vfork: + .globl __vfork + .hidden __vfork + .type __vfork,@function +__vfork: MOVIP %g1, __NR_vfork trap 63 @@ -34,25 +33,22 @@ __libc_vfork: not %g1 /* (unsigned long) -4096 */ cmp %o0, %g1 skps cc_hi - jmp %o7 - nop - + jmp %o7 + nop + fix_errno: neg %o0 save %sp, -16 MOVIA %g1, __errno_location@h call %g1 - nop + nop st [%o0], %i0 /* store errno */ xor %i0, %i0 subi %i0, 1 /* retval=-1 */ ret - restore - - - - - - + restore +.size __vfork,.-__vfork +weak_alias(__vfork,vfork) +libc_hidden_weak(vfork) |
