]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Force --enable-debug on FreeBSD if INVARIANTS is set
authorRich Ercolani <214141+rincebrain@users.noreply.github.com>
Mon, 7 Jun 2021 19:29:27 +0000 (15:29 -0400)
committerGitHub <noreply@github.com>
Mon, 7 Jun 2021 19:29:27 +0000 (13:29 -0600)
There's already logic to force INVARIANTS on for building if it's
present in the running kernel; however, not having DEBUG enabled
when DEBUG and INVARIANTS are can cause strange panics.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
Closes #12185
Closes #12163

config/zfs-build.m4

index c4fe07c810b07c652448d36b33e4dc2afa3b3fff..1af4356cde1940fbab5416ec240df24ade644c71 100644 (file)
@@ -34,6 +34,9 @@ dnl # When debugging is enabled:
 dnl # - Enable all ASSERTs (-DDEBUG)
 dnl # - Promote all compiler warnings to errors (-Werror)
 dnl #
+dnl # (If INVARIANTS is detected, we need to force DEBUG, or strange panics
+dnl # can ensue.)
+dnl #
 AC_DEFUN([ZFS_AC_DEBUG], [
        AC_MSG_CHECKING([whether assertion support will be enabled])
        AC_ARG_ENABLE([debug],
@@ -49,6 +52,20 @@ AC_DEFUN([ZFS_AC_DEBUG], [
                [ZFS_AC_DEBUG_DISABLE],
                [AC_MSG_ERROR([Unknown option $enable_debug])])
 
+       AS_CASE(["x$enable_invariants"],
+               ["xyes"],
+               [],
+               ["xno"],
+               [],
+               [ZFS_AC_DEBUG_INVARIANTS_DETECT])
+
+       AS_CASE(["x$enable_invariants"],
+               ["xyes"],
+               [ZFS_AC_DEBUG_ENABLE],
+               ["xno"],
+               [],
+               [AC_MSG_ERROR([Unknown option $enable_invariants])])
+
        AC_SUBST(DEBUG_CFLAGS)
        AC_SUBST(DEBUG_CPPFLAGS)
        AC_SUBST(DEBUG_LDFLAGS)