Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Oct 2001 09:27:04 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        arch@FreeBSD.ORG
Subject:   Re: syscall() ABI questions
Message-ID:  <XFMail.011029092704.jhb@FreeBSD.org>
In-Reply-To: <20011030035059.L12873-100000@delplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 29-Oct-01 Bruce Evans wrote:
> On Mon, 29 Oct 2001, John Baldwin wrote:
> 
>> I've got some questions about td->td_retval[1] and our syscall ABI.  On some
>> archs (ia64, alpha) we preinitialie this value to 0.  On other archs (i386,
>> sparc64, ppc) we set it to the value of the register it will be set to so
>> that
>> effectively this register's value is preserved across the syscall.  My
>> question
>> is do our syscall ABI's actually assume that for syscalls with only one
>> return
>> value that register isn't written to?  NetBSD recently changed their i386
>> syscall code to preinitialize to 0 rather than %edx.  Anyone have the
>> history
>> on this?
> 
> Not me.  It's older than FreeBSD-1.1.  It seems to be just a pessimization
> to preinitialize retval[1].

That's depressing.  I was hoping you would know what was going on here. :)

> Bruce

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.011029092704.jhb>