From owner-freebsd-emulation Mon Dec 28 16:56:58 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA23395 for freebsd-emulation-outgoing; Mon, 28 Dec 1998 16:56:58 -0800 (PST) (envelope-from owner-freebsd-emulation@FreeBSD.ORG) Received: from janus.syracuse.net (janus.syracuse.net [205.232.47.15]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA23389 for ; Mon, 28 Dec 1998 16:56:57 -0800 (PST) (envelope-from green@unixhelp.org) Received: from localhost (green@localhost) by janus.syracuse.net (8.8.8/8.8.7) with ESMTP id TAA08756; Mon, 28 Dec 1998 19:56:36 -0500 (EST) Date: Mon, 28 Dec 1998 19:56:36 -0500 (EST) From: Brian Feldman X-Sender: green@janus.syracuse.net To: Mike Smith cc: "Richard Seaman, Jr." , emulation@FreeBSD.ORG, dick@ns.tar.com Subject: Re: StarOffice 5.0? In-Reply-To: <199812282228.OAA13111@dingo.cdrom.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-emulation@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Mon, 28 Dec 1998, Mike Smith wrote: > > On Mon, 28 Dec 1998, Mike Smith wrote: > > > > > > syscall linux_pipe(0xefbedc5c) > > > > returns 0 (0x0) > > > > syscall linux_fork() > > > > returns 4133 (0x1025) > > > > syscall close(5) > > > > returns 0 (0x0) > > > > syscall linux_newfstat(4,0xefbedb14) > > > > returns 0 (0x0) > > > > syscall linux_mmap(0xefbedb64) > > > > returns 672841728 (0x281ac000) > > > > syscall read(0x4,0x281ac000,0x4000) > > > > returns 4612 (0x1204) > > > > SIGNAL 20 > > > > syscall read(0x4,0x281ac000,0x4000) > > > > returns 0 (0x0) > > > > syscall close(4) > > > > returns 0 (0x0) > > > > syscall linux_wait4(0x1025,0xefbedc74,0x0,0x0) > > > > returns 4133 (0x1025) > > > > syscall munmap(0x281ac000,0x4000) > > > > returns 0 (0x0) > > > > SIGNAL 11 > > > > SIGNAL 11 > > > > > > > > > This looks ominously like the linux_pipe patches have been spammed by > > > something else. > > > > I see nothing referring to p->p_md.md_regs->tf_edx, so I see no reason why it > > should have been saved. > > ... except for the commit logs and the lengthy discussions on the topic > recently? I never saw one bit of discussion on this. However, after being pointed to trap.c, I see it may be worth it to implement a Linux emulation feature: saving edx and eax and restoring before the return. > > > int reg_edx; > > reg_edx = p->p_retval[1]; > > p->p_retval[1] = reg_edx; > > p->p_retval[1] = reg_edx; > > It's saving the value, but what's it got to do with edx? > > "I took this bit out and it doesn't work anymore" I meant to ask what the int var reg_edx had to do with edx itself. It's apparent after reading trap.c :) No, I didn't take that out of course. > > ... come on. > > -- > \\ Sometimes you're ahead, \\ Mike Smith > \\ sometimes you're behind. \\ mike@smith.net.au > \\ The race is long, and in the \\ msmith@freebsd.org > \\ end it's only with yourself. \\ msmith@cdrom.com > > > Brian Feldman _ __ ___ ___ ___ green@unixhelp.org _ __ ___ | _ ) __| \ http://www.freebsd.org/ _ __ ___ ____ | _ \__ \ |) | FreeBSD: The Power to Serve! _ __ ___ ____ _____ |___/___/___/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-emulation" in the body of the message