Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/i386/i386 Store edx to rval[1], so that it won't ge...
details: https://anonhg.NetBSD.org/src/rev/662668ffb35f
branches: trunk
changeset: 500763:662668ffb35f
user: jdolecek <jdolecek%NetBSD.org@localhost>
date: Mon Dec 18 11:37:08 2000 +0000
description:
Store edx to rval[1], so that it won't get zeroed spuriously - this made
shared FreeBSD binaries coredump.
This solves port-i386/11708 by Atsushi Onoe.
XXX it may be worth it to split FreeBSD syscall code off syscall.c similar way
XXX as other emulations
diffstat:
sys/arch/i386/i386/syscall.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diffs (27 lines):
diff -r 8be2095e184d -r 662668ffb35f sys/arch/i386/i386/syscall.c
--- a/sys/arch/i386/i386/syscall.c Mon Dec 18 09:39:50 2000 +0000
+++ b/sys/arch/i386/i386/syscall.c Mon Dec 18 11:37:08 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: syscall.c,v 1.8 2000/12/13 01:24:46 mycroft Exp $ */
+/* $NetBSD: syscall.c,v 1.9 2000/12/18 11:37:08 jdolecek Exp $ */
/*-
* Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -133,7 +133,7 @@
#endif /* SYSCALL_DEBUG */
rval[0] = 0;
- rval[1] = 0;
+ rval[1] = frame.tf_edx; /* need to keep edx for shared FreeBSD bins */
error = (*callp->sy_call)(p, args, rval);
switch (error) {
case 0:
@@ -221,7 +221,7 @@
#endif /* KTRACE */
rval[0] = 0;
- rval[1] = 0;
+ rval[1] = frame.tf_edx; /* need to keep edx for shared FreeBSD bins */
error = (*callp->sy_call)(p, args, rval);
switch (error) {
case 0:
Home |
Main Index |
Thread Index |
Old Index