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]"

Reply via email to