diff options
author | Jason Ish <ish@cvs.openbsd.org> | 2002-12-12 07:41:46 +0000 |
---|---|---|
committer | Jason Ish <ish@cvs.openbsd.org> | 2002-12-12 07:41:46 +0000 |
commit | 583557ebde73781b7044ca4aa9b0bf6bed087797 (patch) | |
tree | 4ec1154fd94f0f5aa3630ec3d7a98ecfaa630960 | |
parent | 8b1b00ec91fe19e38ca531072d50ef917876c2aa (diff) |
linux passes the 6th syscall argument in ebp
- from NetBSD
- ok deraadt, mickey
-rw-r--r-- | sys/arch/i386/i386/trap.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/arch/i386/i386/trap.c b/sys/arch/i386/i386/trap.c index 6f2eae64929..5d755150af4 100644 --- a/sys/arch/i386/i386/trap.c +++ b/sys/arch/i386/i386/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.50 2002/05/16 16:16:52 provos Exp $ */ +/* $OpenBSD: trap.c,v 1.51 2002/12/12 07:41:45 ish Exp $ */ /* $NetBSD: trap.c,v 1.95 1996/05/05 06:50:02 mycroft Exp $ */ /*- @@ -673,10 +673,12 @@ syscall(frame) /* XXX extra if() for every emul type.. */ if (p->p_emul == &emul_linux_aout || p->p_emul == &emul_linux_elf) { /* - * Linux passes the args in ebx, ecx, edx, esi, edi, in + * Linux passes the args in ebx, ecx, edx, esi, edi, ebp, in * increasing order. */ switch (argsize) { + case 24: + args[5] = frame.tf_ebp; case 20: args[4] = frame.tf_edi; case 16: |