summaryrefslogtreecommitdiffstats
path: root/lib/libc/amd64/sys/vfork.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/amd64/sys/vfork.S')
-rw-r--r--lib/libc/amd64/sys/vfork.S28
1 files changed, 13 insertions, 15 deletions
diff --git a/lib/libc/amd64/sys/vfork.S b/lib/libc/amd64/sys/vfork.S
index 341b75c..2b69ca0 100644
--- a/lib/libc/amd64/sys/vfork.S
+++ b/lib/libc/amd64/sys/vfork.S
@@ -33,14 +33,15 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: Ovfork.S,v 1.2 1995/01/23 01:29:37 davidg Exp $
+ * $Id: Ovfork.S,v 1.3 1996/01/22 00:00:56 julian Exp $
*/
#if defined(SYSLIBC_RCS) && !defined(lint)
.text
- .asciz "$Id: Ovfork.S,v 1.2 1995/01/23 01:29:37 davidg Exp $"
+ .asciz "$Id: Ovfork.S,v 1.3 1996/01/22 00:00:56 julian Exp $"
#endif /* SYSLIBC_RCS and not lint */
+#include "DEFS.h"
#include "SYS.h"
/*
@@ -50,14 +51,11 @@
* %eax == pid of child in parent, %eax == pid of parent in child.
*
*/
- .set vfork,66
-.globl _vfork
-.type _vfork,@function
-_vfork:
+ENTRY(vfork)
popl %ecx /* my rta into ecx */
- movl $vfork, %eax
- LCALL(7,0)
+ lea SYS_vfork,%eax
+ KERNCALL
jb verror
vforkok:
cmpl $0,%edx /* child process? */
@@ -67,14 +65,14 @@ vforkok:
/*
* Threaded version using __error().
*/
- .globl ___error
- .type ___error,@function
+ .globl CNAME(__error)
+ .type CNAME(__error),@function
verror:
pushl %eax
#ifdef PIC
- call PIC_PLT(___error)
+ call PIC_PLT(CNAME(__error))
#else
- call ___error
+ call CNAME(__error)
#endif
popl %ecx
movl %ecx,(%eax)
@@ -84,15 +82,15 @@ verror:
/*
* Non-threaded version using global errno.
*/
- .globl _errno
+ .globl CNAME(errno)
verror:
#ifdef PIC
PIC_PROLOGUE
- movl PIC_GOT(_errno), %edx
+ movl PIC_GOT(CNAME(errno)), %edx
movl %eax,(%edx)
PIC_EPILOGUE
#else
- movl %eax,_errno
+ movl %eax,CNAME(errno)
#endif
movl $-1,%eax
#endif /* !_THREAD_SAFE */
OpenPOWER on IntegriCloud