Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Oct 1998 23:44:07 +0800
From:      Peter Wemm <peter@netplex.com.au>
To:        John Polstra <jdp@polstra.com>
Cc:        kaleb@ics.com, hackers@FreeBSD.ORG
Subject:   Re: Producing non-GPLed tools for FreeBSD 
Message-ID:  <199810201544.XAA12216@spinner.netplex.com.au>
In-Reply-To: Your message of "Tue, 20 Oct 1998 08:13:44 MST." <199810201513.IAA04309@austin.polstra.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
John Polstra wrote:
> In article <362B9D4D.500216A0@ics.com>,
> Kaleb S. KEITHLEY <kaleb@ics.com> wrote:
> 
> > I didn't steal the Intel supplement to the ABI when I left my last job,
> > but I don't recall that it specified parameter passing and register
> > usage
> 
> Yes, it does specify all of that.  And no, we don't differ from it
> on our ELF systems (or on our a.out systems either).

Actually, there are some differences between us and the rest..  We use a
different structure return method in both a.out and our native ELF..
ie: -fno-pcc-struct-return is default on FreeBSD.

This means that for us, something like this

struct foo func()
{
	struct foo ret;
	....
	return ret;
}

.. is reentrant as per the original gcc default.  gcc changed to default to
-fpcc-struct-return relatively late, around 2.4 or 2.5 from memory, and we
didn't follow.  The pcc method (the AT&T portable C compiler) was to pass 
around pointers to static data which got trashed on recursion or reuse 
somehow (eg: signal handler).

I do not know if structure returns are part of the Intel ELF ABI or not.

> John

Cheers,
-Peter



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



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