Save the return address in %a1 across the vfork syscall instead of %a0.

This commit is contained in:
scw 2000-12-02 17:03:06 +00:00
parent 6de7ccd2d3
commit 6751bb4f81
1 changed files with 5 additions and 5 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: __vfork14.S,v 1.6 1999/10/25 23:48:17 thorpej Exp $ */
/* $NetBSD: __vfork14.S,v 1.7 2000/12/02 17:03:06 scw Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@ -43,7 +43,7 @@
#if 0
RCSID("from: @(#)Ovfork.s 5.1 (Berkeley) 5/12/90")
#else
RCSID("$NetBSD: __vfork14.S,v 1.6 1999/10/25 23:48:17 thorpej Exp $")
RCSID("$NetBSD: __vfork14.S,v 1.7 2000/12/02 17:03:06 scw Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@ -64,17 +64,17 @@
*/
ENTRY(__vfork14)
movl %sp@+,%a0
movl %sp@+,%a1
movl #SYS___vfork14,%d0
trap #0
jcs err
subql #1,%d1 /* from 1 to 0 in child, 0 to -1 in parent */
andl %d1,%d0
jmp %a0@
jmp %a1@
err:
#ifdef _REENTRANT
.globl _C_LABEL(__errno)
movl %a0,%sp@-
movl %a1,%sp@-
movl %d0,%sp@-
#if defined(PIC) && !defined(__ELF__)
movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a1