Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch



On Sat, Feb 07, 2009 at 06:04:49PM +0900, enami tsugutomo wrote:

> >    > Log Message:
> >    > add COMPAT_50 to all the configs with COMPAT_40.
> >    
> >    We need to disable COMPAT_50 in sys/arch/i386/conf/GENERIC by default.
> >    Otherwise, compat module fails to be loaded and other compatibilities
> >    aren't available.
> > 
> > i don't follow.  without COMPAT_50 kernel option, almost everything
> > depending on it breaks.
> > 
> > can you explain what you mean more please?
> 
> I believe the policy used in this config file (i386/conf/GENERIC) is
> that compatibilities are provided by loading 'compat' module, since
> rev. 1.918.  And as I described above, enabling *only* COMPAT_50
> prevents the 'compat' module from successful loading, and as a result,
> all other compatibilities like COMPAT_30 etc aren't available with
> this GENERIC kernel.

The other side of this is that COMPAT_50 (i.e. time_t) doesn't work in the
module due to the way that it was implemented, so compat is basically broken
for i386 GENERIC.

I'm not aware of a disussion about the problem before the time_t merge, so
that's how the situation came about. There was discussion after the merge
and the consensus was to:

- always include native compat compat code in the kernel
- make emulations depend on it (already true for the modules)
- use a single option for it to make it maintainable.

Antti proposed inverting the sense of the option to send a strong signal
about what is considered the default (NO_COMPAT) but some were uncomfortable
about this because becuse config allows you to say 'no options foo'.

So the way forward is understood but noone has stepped up to the plate to
do the work.

Thanks,
Andrew


Home | Main Index | Thread Index | Old Index