summaryrefslogtreecommitdiffstats
path: root/lib/libzpool
diff options
context:
space:
mode:
authorSerapheim Dimitropoulos <[email protected]>2020-07-10 15:30:31 -0700
committerGitHub <[email protected]>2020-07-10 15:30:31 -0700
commit6f1db5f37ede685ebe55d1549c635e0aef4661b5 (patch)
tree61f9cb5eb43972eda9a8512717e7d4d0bad4bef8 /lib/libzpool
parentf040a7b0f8bad1cea97b0148076608db0c183d2a (diff)
Unconditionally enable debugging for libzpool
We already enable -DDEBUG unconditionally (meaning regardless of this is a debug build or a performance build) for zdb and ztest as they are mostly used for development and debugging. This patch enables -DDEBUG for libzpool extending the debugging checks for zdb, ztest, and a couple of other test utilities. In addition to passing -DDEBUG we also enable -DZFS_DEBUG so all assertion checks work s expected. We do so not only in libzpool but in every utility that links to it, even if the utility doesn't directly use any functionality wrapped in ZFS_DEBUG macro definitions. The reason is that these utilities may still include headers that contain structs that have more fields when ZFS_DEBUG is defined. This can be a problem as enabling that flag for libzpool but not for zdb can lead into random problems (e.g. segmentation faults) as zdb may be have an incorrect view of a struct passed to it by libzpool. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Matthew Ahrens <[email protected]> Signed-off-by: Serapheim Dimitropoulos <[email protected]> Closes #10549
Diffstat (limited to 'lib/libzpool')
-rw-r--r--lib/libzpool/Makefile.am3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libzpool/Makefile.am b/lib/libzpool/Makefile.am
index 6256d5e73..7924a425d 100644
--- a/lib/libzpool/Makefile.am
+++ b/lib/libzpool/Makefile.am
@@ -7,6 +7,9 @@ VPATH = \
$(top_srcdir)/module/os/linux/zfs \
$(top_srcdir)/lib/libzpool
+# Unconditionally enable debugging for libzpool
+AM_CPPFLAGS += -DDEBUG -UNDEBUG -DZFS_DEBUG
+
# Suppress unused but set variable warnings often due to ASSERTs
AM_CFLAGS += $(NO_UNUSED_BUT_SET_VARIABLE)