kern/150199: [build] kernel doesn't compile with SYSVMSG and
any of COMPAT_FREEBSD[456] but no COMPAT_FREEBSD7
John Baldwin
jhb at freebsd.org
Tue Sep 7 18:57:52 UTC 2010
On Tuesday, September 07, 2010 10:01:16 am Alexander Best wrote:
> On Tue Sep 7 10, John Baldwin wrote:
> > On Tuesday, September 07, 2010 7:45:58 am arundel at freebsd.org wrote:
> > > Synopsis: [build] kernel doesn't compile with SYSVMSG and any of COMPAT_FREEBSD[456] but no COMPAT_FREEBSD7
> > >
> > > Responsible-Changed-From-To: freebsd-bugs->jhb
> > > Responsible-Changed-By: arundel
> > > Responsible-Changed-When: Tue Sep 7 11:40:48 UTC 2010
> > > Responsible-Changed-Why:
> > > John might have an opinion on this PR, since he added the '20090624' entry to
> > > /usr/src/UPDATING which deals with the COMPAT_FREEBSD[4-7] options.
> >
> > Not a bug:
> >
> > 20090624:
> > The ABI of various structures related to the SYSV IPC API have been
> > changed. As a result, the COMPAT_FREEBSD[456] and COMPAT_43 kernel
> > options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version to
> > 800100.
>
> wouldn't something like the following make sense?
>
> .if !defined(COMPAT_FREEBSD7)
> . if defined(COMPAT_43) | defined(COMPAT_FREEBSD4) | defined(COMPAT_FREEBSD5) | defined(COMPAT_FREEBSD6)
> COMPAT_FREEBSD7 = true
> . endif
> .endif
>
> cheers.
> alex
The problem is in sysproto.h and init_sysent.c and other files that are
autogenerated by makesyscalls.sh as they only support tagging system calls
with a single compat version. You could fix the headers by just making the
compat stuff non-conditional, but init_sysent.c is not that easy.
--
John Baldwin
More information about the freebsd-bugs
mailing list