Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jul 2010 14:39:20 -0700
From:      Garrett Cooper <yanefbsd@gmail.com>
To:        "Mikhail T." <mi+thun@aldan.algebra.com>
Cc:        freebsd-stable@freebsd.org, tom@hur.st, re@freebsd.org, freebsd-usb@freebsd.org, Jeremy Chadwick <freebsd@jdc.parodius.com>
Subject:   Re: 8.x grudges
Message-ID:  <AANLkTikdJ39LiaFfibdwkFa1VgT4w7M8tOXeVJYkHF_W@mail.gmail.com>
In-Reply-To: <4C34E0E6.9070801@aldan.algebra.com>
References:  <4C34C5DE.7040007@aldan.algebra.com> <20100707185928.GA16180@icarus.home.lan> <4C34E0E6.9070801@aldan.algebra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 7, 2010 at 1:17 PM, Mikhail T. <mi+thun@aldan.algebra.com> wrot=
e:
> 07.07.2010 14:59, Jeremy Chadwick ???????(??):
>>>
>>> =A0 =A0 =A0FREEBSD_COMPAT7 kernel option is, apparently, a requirement =
(and
>>> =A0 =A0 =A0thus not an "option") -- the kernel-config files, that worke=
d with
>>> =A0 =A0 =A07.x, break without this option in them (in addition to all t=
he
>>> =A0 =A0 =A0nuisance, that's documented in UPDATING -- which, somehow, m=
akes
>>> =A0 =A0 =A0the breakage acceptable). config(8) would not warn about thi=
s, but
>>> =A0 =A0 =A0kernel build fails.
>>>
>>
>> We don't use this option (meaning it's removed from our kernels). =A0It'=
s
>> definitely not required. =A0All it does is ensure your kernel can
>> comprehend executables/binaries built on 7.x.
>>
>
> Attached is the kernel config-file (i386), that worked fine under 7.x. Th=
e
> kernel-compile will break (some *freebsd7* structs undefined), without th=
e
> COMPAT_FREEBSD7 option. Try it for yourself...

options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-style semaphores

Those require COMPAT_FREEBSD7. This does seem like a bug:

static struct syscall_helper_data shm_syscalls[] =3D {
        SYSCALL_INIT_HELPER(shmat),
        SYSCALL_INIT_HELPER(shmctl),
        SYSCALL_INIT_HELPER(shmdt),
        SYSCALL_INIT_HELPER(shmget),
#if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
    defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
        SYSCALL_INIT_HELPER(freebsd7_shmctl),
#endif

The check should be for COMPAT_FREEBSD7 only I would think.

Apart from that, everything else should work without it I would think.

Thanks,
-Garrett



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