cvs commit: src/sys/alpha/alpha support.s src/sys/i386/i386 swtch.s src/sys/kern kern_shutdown.c src/sys/sys systm.h

Bruce Evans bde at zeta.org.au
Fri Feb 20 19:25:51 PST 2004


On Fri, 20 Feb 2004, Marcel Moolenaar wrote:

> On Fri, Feb 20, 2004 at 07:32:09PM +1100, Bruce Evans wrote:

> > MPASS() has the same problems as line numbers in panic messages (except
> > for the implementation bugs (misformatting of the output etc.)): verbose
> > messages and breakage of simple regression tests.
>
> Note that however you look at it, failed assertions and panics are
> expected to not happen. I hope at least that we're not designing
> the kernel based on the frequent occurrence of these. In case they
> do happen, I expect that they help in identifying the root cause.

Yes, they shouldn't get in the way of normal things.

> If a failed assertion or a panic breaks a simple regression test, it
> means there's a bug and that it needs to be found and fixed. You're
> not supposed to complain that the message printed by the assert or
> panic logic messes up the testing.

It doesn't mean that.  E.g., the following sources produce different object
files if panic() adds line numbers:

%%%
#include <sys/param.h>
#include <sys/systm.h>
void foo(void) { panic(""); }
%%%

%%%
#include <sys/param.h>
#include <sys/systm.h>

void foo(void) { panic(""); }
%%%

so cleanups that should have no effect on the gnerated code mostly do
affect the generated code.

Bruce


More information about the cvs-src mailing list