Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Sep 2014 11:43:32 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Julian Elischer <julian@freebsd.org>
Cc:        freebsd-hackers@freebsd.org, kib@freebsd.org, Steven Stewart-Gallus <sstewartgallus00@mylangara.bc.ca>, Benjamin Kaduk <bjk@freebsd.org>
Subject:   Re: Can anyone help clarify details about the FreeBSD system call interface?
Message-ID:  <201409051143.33213.jhb@freebsd.org>
In-Reply-To: <54090FDB.6090801@freebsd.org>
References:  <fb4bf68f53c5.53ff77ee@langara.bc.ca> <2041449.H6lUHcsTDl@ralph.baldwin.cx> <54090FDB.6090801@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, September 04, 2014 9:20:27 pm Julian Elischer wrote:
> On 9/4/14, 7:06 AM, John Baldwin wrote:
> > 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.
> have we ever shipped code for creat?
> 
> if we lose teh ability to run FreeBSD 1.1 chroots I'll be most upset.. 
> it's a great
> selling point when pointing out  our commitment to ABI stability and 
> backwards
> portability.

These system calls were NOPs in 4.4 BSD.  vadvise was marked as obsolete
('ovadvise') in syscalls.master when it was first imported in 1989:

http://svnweb.freebsd.org/csrg/sys/kern/syscalls.master?view=markup&pathrev=37325

I can't actually find the implementations of vadvise() and sstk() prior to
the Mach VM import in the CSRG repository so I don't know how far back they
were NOPs, but I doubt any FreeBSD binary uses these.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201409051143.33213.jhb>