Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
This commit is contained in:
commit
994a616c30
|
@ -42,4 +42,53 @@ __assert_c99(const char *expr, const char *file, int line, const char *func)
|
||||||
}
|
}
|
||||||
#endif /* __assert_c99 */
|
#endif /* __assert_c99 */
|
||||||
|
|
||||||
#endif
|
#ifndef verify
|
||||||
|
#if defined(__STDC__)
|
||||||
|
#if __STDC_VERSION__ - 0 >= 199901L
|
||||||
|
#define verify(EX) (void)((EX) || \
|
||||||
|
(__assert_c99(#EX, __FILE__, __LINE__, __func__), 0))
|
||||||
|
#else
|
||||||
|
#define verify(EX) (void)((EX) || (__assert(#EX, __FILE__, __LINE__), 0))
|
||||||
|
#endif /* __STDC_VERSION__ - 0 >= 199901L */
|
||||||
|
#else
|
||||||
|
#define verify(EX) (void)((EX) || (_assert("EX", __FILE__, __LINE__), 0))
|
||||||
|
#endif /* __STDC__ */
|
||||||
|
#endif /* verify */
|
||||||
|
|
||||||
|
#undef VERIFY
|
||||||
|
#undef ASSERT
|
||||||
|
|
||||||
|
#define VERIFY verify
|
||||||
|
#define ASSERT assert
|
||||||
|
|
||||||
|
extern void __assert(const char *, const char *, int);
|
||||||
|
|
||||||
|
/* BEGIN CSTYLED */
|
||||||
|
#define VERIFY3_IMPL(LEFT, OP, RIGHT, TYPE) do { \
|
||||||
|
const TYPE __left = (TYPE)(LEFT); \
|
||||||
|
const TYPE __right = (TYPE)(RIGHT); \
|
||||||
|
if (!(__left OP __right)) { \
|
||||||
|
char *__buf = alloca(256); \
|
||||||
|
(void) snprintf(__buf, 256, "%s %s %s (0x%llx %s 0x%llx)", \
|
||||||
|
#LEFT, #OP, #RIGHT, \
|
||||||
|
(u_longlong_t)__left, #OP, (u_longlong_t)__right); \
|
||||||
|
__assert(__buf, __FILE__, __LINE__); \
|
||||||
|
} \
|
||||||
|
_NOTE(CONSTCOND) } while (0)
|
||||||
|
/* END CSTYLED */
|
||||||
|
|
||||||
|
#define VERIFY3S(x, y, z) VERIFY3_IMPL(x, y, z, int64_t)
|
||||||
|
#define VERIFY3U(x, y, z) VERIFY3_IMPL(x, y, z, uint64_t)
|
||||||
|
#define VERIFY3P(x, y, z) VERIFY3_IMPL(x, y, z, uintptr_t)
|
||||||
|
|
||||||
|
#ifdef NDEBUG
|
||||||
|
#define ASSERT3S(x, y, z) ((void)0)
|
||||||
|
#define ASSERT3U(x, y, z) ((void)0)
|
||||||
|
#define ASSERT3P(x, y, z) ((void)0)
|
||||||
|
#else
|
||||||
|
#define ASSERT3S(x, y, z) VERIFY3S(x, y, z)
|
||||||
|
#define ASSERT3U(x, y, z) VERIFY3U(x, y, z)
|
||||||
|
#define ASSERT3P(x, y, z) VERIFY3P(x, y, z)
|
||||||
|
#endif /* NDEBUG */
|
||||||
|
|
||||||
|
#endif /* _SOL_ASSERT_H */
|
||||||
|
|
|
@ -24,24 +24,9 @@
|
||||||
* Use is subject to license terms.
|
* Use is subject to license terms.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _PORT_SYS_DEBUG_H
|
#ifndef _SOL_SYS_DEBUG_H
|
||||||
#define _PORT_SYS_DEBUG_H
|
#define _SOL_SYS_DEBUG_H
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
/* This definition is copied from assert.h. */
|
|
||||||
#if defined(__STDC__)
|
|
||||||
#if __STDC_VERSION__ - 0 >= 199901L
|
|
||||||
#define zp_verify(EX) (void)((EX) || \
|
|
||||||
(__assert_c99(#EX, __FILE__, __LINE__, __func__), 0))
|
|
||||||
#else
|
|
||||||
#define zp_verify(EX) (void)((EX) || (__assert(#EX, __FILE__, __LINE__), 0))
|
|
||||||
#endif /* __STDC_VERSION__ - 0 >= 199901L */
|
|
||||||
#else
|
|
||||||
#define zp_verify(EX) (void)((EX) || (_assert("EX", __FILE__, __LINE__), 0))
|
|
||||||
#endif /* __STDC__ */
|
|
||||||
|
|
||||||
#define VERIFY(EX) zp_verify(EX)
|
|
||||||
#define ASSERT(EX) assert(EX)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -102,59 +102,12 @@ extern void vpanic(const char *, __va_list);
|
||||||
|
|
||||||
#define fm_panic panic
|
#define fm_panic panic
|
||||||
|
|
||||||
/* This definition is copied from assert.h. */
|
/*
|
||||||
#ifndef verify
|
* VERIFY/ASSERT
|
||||||
#if defined(__STDC__)
|
*
|
||||||
#if __STDC_VERSION__ - 0 >= 199901L
|
* The verify/assert support moved to libspl/include/assert.h so only
|
||||||
#define verify(EX) (void)((EX) || \
|
* one version of the code needs to be maintained for all of user space.
|
||||||
(__assert_c99(#EX, __FILE__, __LINE__, __func__), 0))
|
*/
|
||||||
#else
|
|
||||||
#define verify(EX) (void)((EX) || (__assert(#EX, __FILE__, __LINE__), 0))
|
|
||||||
#endif /* __STDC_VERSION__ - 0 >= 199901L */
|
|
||||||
#else
|
|
||||||
#define verify(EX) (void)((EX) || (_assert("EX", __FILE__, __LINE__), 0))
|
|
||||||
#endif /* __STDC__ */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef VERIFY
|
|
||||||
#undef ASSERT
|
|
||||||
|
|
||||||
#define VERIFY verify
|
|
||||||
#define ASSERT assert
|
|
||||||
|
|
||||||
extern void __assert(const char *, const char *, int);
|
|
||||||
|
|
||||||
#ifdef lint
|
|
||||||
#define VERIFY3_IMPL(x, y, z, t) if (x == z) ((void)0)
|
|
||||||
#else
|
|
||||||
/* BEGIN CSTYLED */
|
|
||||||
#define VERIFY3_IMPL(LEFT, OP, RIGHT, TYPE) do { \
|
|
||||||
const TYPE __left = (TYPE)(LEFT); \
|
|
||||||
const TYPE __right = (TYPE)(RIGHT); \
|
|
||||||
if (!(__left OP __right)) { \
|
|
||||||
char *__buf = alloca(256); \
|
|
||||||
(void) snprintf(__buf, 256, "%s %s %s (0x%llx %s 0x%llx)", \
|
|
||||||
#LEFT, #OP, #RIGHT, \
|
|
||||||
(u_longlong_t)__left, #OP, (u_longlong_t)__right); \
|
|
||||||
__assert(__buf, __FILE__, __LINE__); \
|
|
||||||
} \
|
|
||||||
_NOTE(CONSTCOND) } while (0)
|
|
||||||
/* END CSTYLED */
|
|
||||||
#endif /* lint */
|
|
||||||
|
|
||||||
#define VERIFY3S(x, y, z) VERIFY3_IMPL(x, y, z, int64_t)
|
|
||||||
#define VERIFY3U(x, y, z) VERIFY3_IMPL(x, y, z, uint64_t)
|
|
||||||
#define VERIFY3P(x, y, z) VERIFY3_IMPL(x, y, z, uintptr_t)
|
|
||||||
|
|
||||||
#ifdef NDEBUG
|
|
||||||
#define ASSERT3S(x, y, z) ((void)0)
|
|
||||||
#define ASSERT3U(x, y, z) ((void)0)
|
|
||||||
#define ASSERT3P(x, y, z) ((void)0)
|
|
||||||
#else
|
|
||||||
#define ASSERT3S(x, y, z) VERIFY3S(x, y, z)
|
|
||||||
#define ASSERT3U(x, y, z) VERIFY3U(x, y, z)
|
|
||||||
#define ASSERT3P(x, y, z) VERIFY3P(x, y, z)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DTrace SDT probes have different signatures in userland than they do in
|
* DTrace SDT probes have different signatures in userland than they do in
|
||||||
|
|
Loading…
Reference in New Issue