diff options
Diffstat (limited to 'sys/lib/libkern/libkern.h')
-rw-r--r-- | sys/lib/libkern/libkern.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/sys/lib/libkern/libkern.h b/sys/lib/libkern/libkern.h index 4e53f92fbc2..d743920ea0b 100644 --- a/sys/lib/libkern/libkern.h +++ b/sys/lib/libkern/libkern.h @@ -1,4 +1,4 @@ -/* $OpenBSD: libkern.h,v 1.33 2014/06/10 04:16:57 deraadt Exp $ */ +/* $OpenBSD: libkern.h,v 1.34 2014/07/13 23:49:40 uebayasi Exp $ */ /* $NetBSD: libkern.h,v 1.7 1996/03/14 18:52:08 christos Exp $ */ /*- @@ -114,25 +114,41 @@ abs(int j) #endif #endif +#define __KASSERTSTR "kernel %sassertion \"%s\" failed: file \"%s\", line %d" + #ifndef DIAGNOSTIC +#define KASSERTMSG(e, msg, ...) ((void)0) #define KASSERT(e) ((void)0) #else #ifdef __STDC__ +#define KASSERTMSG(e, msg, ...) ((e) ? (void)0 : \ + panic(__KASSERTSTR " " msg, "diagnostic ", #e, \ + __FILE__, __LINE__, ## __VA_ARGS__)) #define KASSERT(e) ((e) ? (void)0 : \ __assert("diagnostic ", __FILE__, __LINE__, #e)) #else +#define KASSERTMSG(e, msg, ...) ((e) ? (void)0 : \ + panic(__KASSERTSTR " " msg, "diagnostic ", "e", \ + __FILE__, __LINE__, ## __VA_ARGS__)) #define KASSERT(e) ((e) ? (void)0 : \ __assert("diagnostic ", __FILE__, __LINE__, "e")) #endif #endif #ifndef DEBUG +#define KDASSERTMSG(e, msg, ...) ((void)0) #define KDASSERT(e) ((void)0) #else #ifdef __STDC__ +#define KDASSERTMSG(e, msg, ...) ((e) ? (void)0 : \ + panic(__KASSERTSTR " " msg, "debugging ", #e, \ + __FILE__, __LINE__, ## __VA_ARGS__)) #define KDASSERT(e) ((e) ? (void)0 : \ __assert("debugging ", __FILE__, __LINE__, #e)) #else +#define KDASSERTMSG(e, msg, ...) ((e) ? (void)0 : \ + panic(__KASSERTSTR " " msg, "debugging ", "e", \ + __FILE__, __LINE__, ## __VA_ARGS__)) #define KDASSERT(e) ((e) ? (void)0 : \ __assert("debugging ", __FILE__, __LINE__, "e")) #endif |