diff options
Diffstat (limited to 'main/zfs-vanilla/0007-Remove-complicated-libspl-assert-wrappers.patch')
-rw-r--r-- | main/zfs-vanilla/0007-Remove-complicated-libspl-assert-wrappers.patch | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/main/zfs-vanilla/0007-Remove-complicated-libspl-assert-wrappers.patch b/main/zfs-vanilla/0007-Remove-complicated-libspl-assert-wrappers.patch deleted file mode 100644 index 74e8a747c6..0000000000 --- a/main/zfs-vanilla/0007-Remove-complicated-libspl-assert-wrappers.patch +++ /dev/null @@ -1,159 +0,0 @@ -From bd123ed53786910cfdcfa7f3a983a268a5951fb0 Mon Sep 17 00:00:00 2001 -From: Brian Behlendorf <behlendorf1@llnl.gov> -Date: Tue, 1 Mar 2016 15:45:43 +0100 -Subject: [PATCH 7/8] Remove complicated libspl assert wrappers - -Effectively provide our own version of assert()/verify() for use -in user space. This minimizes our dependencies and aligns the -user space assertion handling with what's used in the kernel. - -Signed-off-by: Carlo Landmeter <clandmeter@gmail.com> -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Closes #4449 ---- - include/libzfs_impl.h | 5 --- - lib/libspl/include/assert.h | 82 ++++++++++++++++++++------------------------- - 2 files changed, 36 insertions(+), 51 deletions(-) - -diff --git a/include/libzfs_impl.h b/include/libzfs_impl.h -index e805e3e..ff02fa7 100644 ---- a/include/libzfs_impl.h -+++ b/include/libzfs_impl.h -@@ -46,11 +46,6 @@ - extern "C" { - #endif - --#ifdef VERIFY --#undef VERIFY --#endif --#define VERIFY verify -- - typedef struct libzfs_fru { - char *zf_device; - char *zf_fru; -diff --git a/lib/libspl/include/assert.h b/lib/libspl/include/assert.h -index 52924e8..6226872 100644 ---- a/lib/libspl/include/assert.h -+++ b/lib/libspl/include/assert.h -@@ -32,68 +32,54 @@ - #include <stdio.h> - #include <stdlib.h> - --#ifndef __assert_c99 --static inline void --__assert_c99(const char *expr, const char *file, int line, const char *func) -+static inline int -+libspl_assert(const char *buf, const char *file, const char *func, int line) - { -- fprintf(stderr, "%s:%i: %s: Assertion `%s` failed.\n", -- file, line, func, expr); -+ fprintf(stderr, "%s\n", buf); -+ fprintf(stderr, "ASSERT at %s:%d:%s()", file, line, func); - abort(); - } --#endif /* __assert_c99 */ -- --#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 -+#ifdef verify -+#undef verify -+#endif - --extern void __assert(const char *, const char *, int); -+#define VERIFY(cond) \ -+ (void) ((!(cond)) && \ -+ libspl_assert(#cond, __FILE__, __FUNCTION__, __LINE__)) -+#define verify(cond) \ -+ (void) ((!(cond)) && \ -+ libspl_assert(#cond, __FILE__, __FUNCTION__, __LINE__)) - --static inline int --assfail(const char *buf, const char *file, int line) --{ -- __assert(buf, file, line); -- return (0); --} -- --/* 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); \ -- assfail(__buf, __FILE__, __LINE__); \ -- } \ -+#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); \ -+ libspl_assert(__buf, __FILE__, __FUNCTION__, __LINE__); \ -+ } \ - } 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) - #define VERIFY0(x) VERIFY3_IMPL(x, ==, 0, uint64_t) - -+#ifdef assert -+#undef assert -+#endif -+ - #ifdef NDEBUG - #define ASSERT3S(x, y, z) ((void)0) - #define ASSERT3U(x, y, z) ((void)0) - #define ASSERT3P(x, y, z) ((void)0) - #define ASSERT0(x) ((void)0) -+#define ASSERT(x) ((void)0) -+#define assert(x) ((void)0) - #define ASSERTV(x) - #define IMPLY(A, B) ((void)0) - #define EQUIV(A, B) ((void)0) -@@ -102,13 +88,17 @@ assfail(const char *buf, const char *file, int line) - #define ASSERT3U(x, y, z) VERIFY3U(x, y, z) - #define ASSERT3P(x, y, z) VERIFY3P(x, y, z) - #define ASSERT0(x) VERIFY0(x) -+#define ASSERT(x) VERIFY(x) -+#define assert(x) VERIFY(x) - #define ASSERTV(x) x - #define IMPLY(A, B) \ - ((void)(((!(A)) || (B)) || \ -- assfail("(" #A ") implies (" #B ")", __FILE__, __LINE__))) -+ libspl_assert("(" #A ") implies (" #B ")", \ -+ __FILE__, __FUNCTION__, __LINE__))) - #define EQUIV(A, B) \ - ((void)((!!(A) == !!(B)) || \ -- assfail("(" #A ") is equivalent to (" #B ")", __FILE__, __LINE__))) -+ libspl_assert("(" #A ") is equivalent to (" #B ")", \ -+ __FILE__, __FUNCTION__, __LINE__))) - - #endif /* NDEBUG */ - --- -2.7.4 - |