kern/150199: [build] kernel doesn't compile with SYSVMSG and any of COMPAT_FREEBSD[456] but no COMPAT_FREEBSD7

Alexander Best arundel at freebsd.org
Tue Sep 7 21:06:49 UTC 2010


On Tue Sep  7 10, John Baldwin wrote:
> 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.

i see. thanks for the explanation. indeed this doesn't seem trivial at all. ;)

cheers.
alex

> 
> -- 
> John Baldwin

-- 
a13x


More information about the freebsd-bugs mailing list