HomeFreeBSD

Unconditionally enable debugging for libzpool

Description

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 <behlendorf1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Closes #10549

Details

Provenance
Serapheim Dimitropoulos <serapheim@delphix.com>Authored on Jul 10 2020, 10:30 PM
GitHub <noreply@github.com>Committed on Jul 10 2020, 10:30 PM
Parents
rGf040a7b0f8ba: Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rG6f1db5f37ede: Unconditionally enable debugging for libzpool (authored by Serapheim Dimitropoulos <serapheim@delphix.com>).Jul 10 2020, 10:30 PM