On Tue, 29 Aug 2006, John Baldwin wrote:
jhb 2006-08-29 20:36:33 UTC
FreeBSD src repository
Modified files:
sys/sys sx.h
Log:
The _sx_assert() prototype should exist if either of INVARIANTS or
INVARIANT_SUPPORT is defined so you can build a kernel with
INVARIANT_SUPPORT, but build a module with just INVARIANTS on.
No it shouldn't. INVARIANT_SUPPORT is a documented prerequisite for
INVARIANTS. So is the resulting requirements for using INVARIANTS to
create non-modular "modules": From /sys/conf/NOTES:
# The INVARIANT_SUPPORT option makes us compile in support for
# verifying some of the internal structures. It is a prerequisite for
^^^^^^^^^^^^^^^^^^^^^^^^
# 'INVARIANTS', as enabling 'INVARIANTS' will make these functions be
^^^^^^^^^^^^
# called. The intent is that you can set 'INVARIANTS' for single
# source files (by changing the source file or specifying it on the
# command line) if you have 'INVARIANT_SUPPORT' enabled. Also, if you
^^^^^^^^^^^^
# wish to build a kernel module with 'INVARIANTS', then adding
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# 'INVARIANT_SUPPORT' to your kernel will provide all the necessary
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# infrastructure without the added overhead.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
However, INVARIANTS is a fairly bogus option. Last time I looked
(long ago) it only controlled a small amount of kernel bloat, and there
are probably many other functions that are defined unconditionally else
modules with INVARIANTS would be more broken.
Bruce
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"