Subject: Re: Syscall and syscall versioning documentation for review
To: None <tech-kern@netbsd.org>
From: Pavel Cahyna <pavel@netbsd.org>
List: tech-kern
Date: 08/30/2006 13:38:01
On Wed, Aug 30, 2006 at 12:58:38PM +0200, Martin Husemann wrote:
> On Wed, Aug 30, 2006 at 03:35:33AM +0200, Pavel Cahyna wrote:
> > +<p>The naming conventions associated with versioning are
> > +    complex. If the original system call is called foo (and
> > +    implemented by a sys_foo function) and it is changed after the x.y
> > +    release, the new syscall will be named __fooxy, with the function
> > +    implementing it being named sys___fooxy. The original syscall
> > +    (left for compatibility) will be still declared as sys_foo in
> > +    <code class="filename">syscalls.master</code>, but will be tagged as
> > +    COMPAT_XY, so the function will be named compat_xy_sys_foo. We
> > +    will call sys_foo the original version, sys___fooxy the new
> > +    version and compat_xy_sys_foo the compatibility version in the
> > +    procedure described below.</p>
> 
> I think the naming scheme needs a bit more deatils.
> Originally we named the syscalls after the libc major version. Then we
> changed that to "last official release", and currently it should be "next
> upcoming release". It gets a bit hairy if we version something twice between
> releases.

Any pointers to such consensus? Rev. 1.148 of syscalls.master introduced
syscalls with the 30 suffix, and it was after the netbsd-3 branch was
created.

Pavel