Date: Mon, 28 Dec 1998 17:07:25 -0500 (EST) From: Brian Feldman <green@unixhelp.org> To: "Richard Seaman, Jr." <dick@tar.com> Cc: Mike Smith <mike@smith.net.au>, emulation@FreeBSD.ORG Subject: Re: StarOffice 5.0? Message-ID: <Pine.BSF.4.05.9812281703330.1243-100000@janus.syracuse.net> In-Reply-To: <19981228155821.C4581@tar.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 28 Dec 1998, Richard Seaman, Jr. wrote: > On Mon, Dec 28, 1998 at 04:50:08PM -0500, Brian Feldman wrote: > > > > 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. > > > > 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? > > p->p_retval[1] writes to edx when returning to user space. The > FreeBSD pipe syscall writes to p->p_retval[1]. Linux glibc wraps > the linux pipe syscall, and expects edx to be preserved when the > pipe syscall returns. > Okay, that makes sense. Where is it noted what FreeBSD clobbers and what it restores on leaving a syscall? And is it really a good thing? I mean, should I expect all my registers to be exactly the same (well, I mean the generic storage registers, not esp eip etc ;) on return of a syscall? > -- > Richard Seamman, Jr. email: dick@tar.com > 5182 N. Maple Lane phone: 414-367-5450 > Chenequa WI 53058 fax: 414-367-5852 > 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9812281703330.1243-100000>