Can anyone help clarify details about the FreeBSD system call interface?

John Baldwin jhb at freebsd.org
Thu Sep 4 15:56:08 UTC 2014


On Wednesday, September 03, 2014 05:30:01 PM Benjamin Kaduk wrote:
> On Thu, 28 Aug 2014, Steven Stewart-Gallus wrote:
> > > svn blame says that the whole implementation dates from r1541.
> > > Looks like
> > > it was never implemented.  Some googling indicates that it was a
> > > plannedroutine to set the stack size, which was never implemented,
> > > anywhere.
> > > 
> > > The locking comments were added in r79224, but the implementation is
> > > otherwise from r1541, i.e., it was never implemented.
> > 
> > Alright, so sys/kern/syscalls.master can be patched somewhat like so
> > and I won't need to document them?
> > 
> > -72	AUE_O_VADVISE	STD	{ int ovadvise(int anom); } vadvise \
> > -				    ovadvise_args int
> > +72	AUE_NULL	OBSOL   ovadvise
> > 
> > -70	AUE_SSTK	STD	{ int sstk(int incr); }
> > +70	AUE_SSTK	OBSOL	sstk
> 
> I don't think so; I think that would be a regression.
> 
> We do currently provide implementations for these syscalls, that just
> happen to always return failure.  I think that the OBSOL annotation
> corresponds to a complete lack of implementation.  Perhaps it would be
> acceptable at a major release boundary, but this is not my area of
> expertise.

For these two calls, I doubt anything is actually using them.  They've been 
stubs since the Mach VM was imported into BSD in 1990.  We don't ship a system 
call for creat() anymore either.  In this particular case, I think it would be 
more of a feature if those symbols disappeared from libc and caused link 
errors.

-- 
John Baldwin


More information about the freebsd-hackers mailing list