Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 May 2002 23:21:12 -0700
From:      Peter Wemm <peter@wemm.org>
To:        John Baldwin <jhb@FreeBSD.ORG>
Cc:        Matthew Dillon <dillon@apollo.backplane.com>, arch@FreeBSD.ORG, Poul-Henning Kamp <phk@FreeBSD.ORG>
Subject:   Re: syscall changes to deal with 32->64 changes. 
Message-ID:  <20020508062112.1EB7238FF@overcee.wemm.org>
In-Reply-To: <XFMail.20020507103320.jhb@FreeBSD.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote:
> 
> On 07-May-2002 Matthew Dillon wrote:
> >     As a person who has already spent several days playing with
> >     64 bit time_t's and associated syscalls I would say that 
> >     creating a new syscall vector for FreeBSD 5.0 (and leaving the
> >     existing one intact for compatibility) is the correct solution.
> 
> I agree completely.
> 
> >     I tried to add new syscalls to the existing vector but so many
> >     syscalls had to be changed to support 64 bit time_t's that it
> >     became a huge mess... so much so that I would expect the other
> >     BSD's to cry foul on us if we tried to do it with the existing
> >     vector.  It will be far, far cleaner to simply implement an
> >     entirely new syscall vector / ELF identifier.
> 
> Right.  I would like to use the ELF_ABI_OSVERSION thingie, but according to
> O'Brien it violates the ELF spec to use any value other than 0.  But then
> why does it exist if we can't use it? :( 

EI_OSABI (index 7) and EI_ABIVERSION (index 8) are *NOT* in the original
ELF spec.  They were added relatively recently, and a SVR4 ABI compliant
binary must (by definition) have these at value zero since it doesn't
exist on SVR4.

#define EI_OSABI        7       /* Operating system / ABI identification */
#define EI_ABIVERSION   8       /* ABI version */

With EI_OSABI = 9 (ELFOSABI_FREEBSD), we are by definition not strictly
SVR4 ELF ABI compliant.  But so what?  We hardly provide the SVR4
layout for 'struct stat' etc anyway..

With EI_OSABI == FreeBSD, then EI_ABIVERSION == ours to play with as we see
fit.  (EI_ABIVERSION being non-zero will be no more of a problem than
EI_OSABI being non-zero since traditional ELF tools know about *neither*
of them).

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5


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?20020508062112.1EB7238FF>