Subject: Re: kernel panic messages
To: None <tech-kern@netbsd.org, woods@weird.com>
From: M. Warner Losh <imp@bsdimp.com>
List: tech-kern
Date: 05/07/2003 10:27:37
In message: <m19CPw9-000B3mC@proven.weird.com>
"Greg A. Woods" <woods@weird.com> writes:
: [ On Sunday, May 4, 2003 at 06:35:17 (-0600), M. Warner Losh wrote: ]
: > Subject: Re: kernel panic messages
: >
: > There's a standard way to do this that doesn't depend on gccisms.
: > That's iso-99 not iso-89, however.
: >
: > #define panic(...) _panic(__FILE__, __LINE__, __VA_ARGS__);
:
: I think there's a normal C way to do it too of course, if you allow for
: a two-step procedure...
:
: #define panic(varags) { _panic_setup(__FILE__, __LINE__); _panic varargs; }
:
: where all calls are simply modified to have an extra set of parentheses
: around their parameters:
:
: panic(("help! %s", message));
That's the 'old school' way of doing it. C99 defines what I wrote
above, and it doesn't require changes to all uses of panic in the
kernel. I'm very aware of the technique and think it is so utterly
bletcherous that I don't even want to acknowledge it as an alternative.
Warner