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>