Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 May 2002 12:40:43 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        John Baldwin <jhb@FreeBSD.ORG>
Cc:        "David O'Brien" <obrien@FreeBSD.ORG>, arch@FreeBSD.ORG, Poul-Henning Kamp <phk@critter.freebsd.dk>
Subject:   Re: syscall changes to deal with 32->64 changes.
Message-ID:  <200205071940.g47Jehl84130@apollo.backplane.com>
References:   <XFMail.20020507140110.jhb@FreeBSD.org>

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

:On 07-May-2002 David O'Brien wrote:
:> On Tue, May 07, 2002 at 05:37:16PM +0200, Poul-Henning Kamp wrote:
:>> I would therefore like to propose that we do something like
:>> the following:
:>> 
:>>      Repocopy src/sys/sys/* to src/sys/include
:>>      Repocopy src/sys/sys/* to src/sys/abi4
:> 
:> This is actually the FreeBSD 3.0 ABI, not an ABI introduced with 4.0.
:
:I prefer a suggestion I think you had where the ABI isn't actually
:linked to freebsd versions, but instead our current ABI is ABI 1 (or 0)
:and the new ABI would be ABI 2 (or 1).
:
:-- 
:
:John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
:"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

    Hmm.  I think this may be a little too confusing.  Remember that we
    have serious issues with mainline files in /usr/src/include (aka
    /usr/include), not just /usr/src/sys/sys.  We also have issues with
    /usr/lib, etc.  Why not do something like this:

    /usr/src/include/
	
	Contains architecture and ABI independant files

    /usr/src/include/ABIx/
    /usr/src/include/ABIy/
    /usr/src/include/ABIz/

	Contains ABI specific files.  For example, /usr/src/include/ABIx/sys

    (mirrored in /usr/include, aka /usr/include/<BLAH>, /usr/include/ABI/<BLAH>)

    Then we simply change the default compiler -I path from: /usr/include to
    /usr/include:/usr/include/ABIxxx where the ABI may be chosen at
    compile time with an option to cc, and the default is set to whatever
    the appropriate default is.  This makes the 'switch' easy to throw.
    The compiler/linker is going to need knowledge of the ABI being used
    anyway since it has to set the ELF parameter, we might as well leverage
    that for the includes as well.

    We will need ABI specific libraries as well.  e.g. /usr/lib, /usr/lib/ABIx,
    etc...

    I really think this is the cleanest, safest way to do it, and it also paves
    the way for us to allow natively compiled multi-architectural support.
    e.g. consider this:

	cc -ABI4 ...
	cc -ABI5 ...
	cc -ABILinux ...
	cc -ABIOpenBSD ...

    You see what I am getting at?

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

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?200205071940.g47Jehl84130>