d021434a7960 - main - openzfs: fix gcc kernel module builds

Ryan Libby rlibby at freebsd.org
Sat Jan 2 01:10:59 UTC 2021


On Fri, Jan 1, 2021 at 3:42 PM Ravi Pokala <rpokala at freebsd.org> wrote:
>
> -----Original Message-----
> From: <owner-src-committers at freebsd.org> on behalf of Ryan Libby <rlibby at FreeBSD.org>
> Date: 2020-12-27, Sunday at 15:03
> To: <src-committers at FreeBSD.org>, <dev-commits-src-all at FreeBSD.org>, <dev-commits-src-main at FreeBSD.org>
> Subject: git: d021434a7960 - main - openzfs: fix gcc kernel module builds
>
>     The branch main has been updated by rlibby:
>
>     URL: https://cgit.FreeBSD.org/src/commit/?id=d021434a796008efbb93616f5297ed2f55a1a230
>
>     commit d021434a796008efbb93616f5297ed2f55a1a230
>     Author:     Ryan Libby <rlibby at FreeBSD.org>
>     AuthorDate: 2020-12-27 22:33:13 +0000
>     Commit:     Ryan Libby <rlibby at FreeBSD.org>
>     CommitDate: 2020-12-27 22:33:13 +0000
>
>         openzfs: fix gcc kernel module builds
>
> Hi Ryan,
>
> This is listed as "openzfs", but the vast majority of it is in dtrace...?
>
> -Ravi (rpokala@)

Yes...

This is solving a problem that comes from the openzfs headers
(sys/contrib/openzfs/include) as seen by code that uses OPENZFS_CFLAGS,
note especially -I${ZINCDIR}/os/freebsd/spl .  The problem was
introduced in the recent openzfs merge (r364746 / 9e5787d2284e), which
similarly touched all these dtrace makefiles.

Ryan

>
>          - Suppress -Wredundant-decls.  Ultimately this warning is harmless in
>            any case, and it does not look like there is a simple way to avoid
>            redundant declarations in this case without a lot of header pollution
>            (e.g. having openzfs's shim param.h pulling in sys/kernel.h for hz).
>          - Suppress -Wnested-externs, which is useless anyway.
>
>         Unfortunately it was not sufficient just to modify OPENZFS_CFLAGS,
>         because the warning suppressions need to appear on the command line
>         after they are explicitly enabled by CWARNFLAGS from sys/conf/kern.mk,
>         but OPENZFS_CFLAGS get added before due to use of -I for the shims.
>
>         Reviewed by:    markj
>         Sponsored by:   Dell EMC Isilon
>         Differential Revision:  https://reviews.freebsd.org/D27685
>     ---
>      sys/conf/kmod.mk                               | 4 +++-
>      sys/modules/dtrace/dtaudit/Makefile            | 1 +
>      sys/modules/dtrace/dtmalloc/Makefile           | 1 +
>      sys/modules/dtrace/dtnfscl/Makefile            | 1 +
>      sys/modules/dtrace/dtrace/Makefile             | 1 +
>      sys/modules/dtrace/fasttrap/Makefile           | 1 +
>      sys/modules/dtrace/fbt/Makefile                | 1 +
>      sys/modules/dtrace/profile/Makefile            | 1 +
>      sys/modules/dtrace/prototype/Makefile          | 1 +
>      sys/modules/dtrace/sdt/Makefile                | 1 +
>      sys/modules/dtrace/systrace/Makefile           | 1 +
>      sys/modules/dtrace/systrace_freebsd32/Makefile | 1 +
>      sys/modules/dtrace/systrace_linux/Makefile     | 1 +
>      sys/modules/dtrace/systrace_linux32/Makefile   | 1 +
>      sys/modules/opensolaris/Makefile               | 1 +
>      sys/modules/zfs/Makefile                       | 1 +
>      16 files changed, 18 insertions(+), 1 deletion(-)
>
>     diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk
>     index 54ecbdf69c88..dcc00829b831 100644
>     --- a/sys/conf/kmod.mk
>     +++ b/sys/conf/kmod.mk
>     @@ -540,7 +540,9 @@ OPENZFS_CFLAGS=     \
>         -I${SYSDIR}/cddl/compat/opensolaris \
>         -I${SYSDIR}/cddl/contrib/opensolaris/uts/common \
>         -include ${ZINCDIR}/os/freebsd/spl/sys/ccompile.h
>     -
>     +OPENZFS_CWARNFLAGS= \
>     +   -Wno-nested-externs \
>     +   -Wno-redundant-decls
>
>      .include <bsd.dep.mk>
>      .include <bsd.clang-analyze.mk>
>     diff --git a/sys/modules/dtrace/dtaudit/Makefile b/sys/modules/dtrace/dtaudit/Makefile
>     index 72cdf03f4bc3..3571bcbb7ea2 100644
>     --- a/sys/modules/dtrace/dtaudit/Makefile
>     +++ b/sys/modules/dtrace/dtaudit/Makefile
>     @@ -13,3 +13,4 @@ CFLAGS+= ${OPENZFS_CFLAGS}
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/dtmalloc/Makefile b/sys/modules/dtrace/dtmalloc/Makefile
>     index 910f8f360e80..ffde4f811ee8 100644
>     --- a/sys/modules/dtrace/dtmalloc/Makefile
>     +++ b/sys/modules/dtrace/dtmalloc/Makefile
>     @@ -13,3 +13,4 @@ CFLAGS+=  ${OPENZFS_CFLAGS}
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/dtnfscl/Makefile b/sys/modules/dtrace/dtnfscl/Makefile
>     index 6184ad183fc6..d28641e51ec8 100644
>     --- a/sys/modules/dtrace/dtnfscl/Makefile
>     +++ b/sys/modules/dtrace/dtnfscl/Makefile
>     @@ -13,3 +13,4 @@ CFLAGS+=  ${OPENZFS_CFLAGS}
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/dtrace/Makefile b/sys/modules/dtrace/dtrace/Makefile
>     index 0bedcaa12fe7..80278fc83a32 100644
>     --- a/sys/modules/dtrace/dtrace/Makefile
>     +++ b/sys/modules/dtrace/dtrace/Makefile
>     @@ -59,6 +59,7 @@ dtrace_asm.o:  assym.inc
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>      CFLAGS.dtrace_asm.S+= -D_SYS_ERRNO_H_ -D_SYS_PARAM_H_ -DLOCORE
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>      CWARNFLAGS+=       -Wno-parentheses
>      CWARNFLAGS+=       -Wno-uninitialized
>      CWARNFLAGS+=       -Wno-cast-qual
>     diff --git a/sys/modules/dtrace/fasttrap/Makefile b/sys/modules/dtrace/fasttrap/Makefile
>     index 1be1b97736ea..0eecfcb11aab 100644
>     --- a/sys/modules/dtrace/fasttrap/Makefile
>     +++ b/sys/modules/dtrace/fasttrap/Makefile
>     @@ -26,5 +26,6 @@ SRCS+=            u8_textprep.c
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>      CWARNFLAGS+=       -Wno-cast-qual
>      CWARNFLAGS+=       -Wno-unused
>     diff --git a/sys/modules/dtrace/fbt/Makefile b/sys/modules/dtrace/fbt/Makefile
>     index 288c8cafa817..360d92000776 100644
>     --- a/sys/modules/dtrace/fbt/Makefile
>     +++ b/sys/modules/dtrace/fbt/Makefile
>     @@ -23,3 +23,4 @@ CFLAGS+=  -I${SYSDIR}/cddl/dev/fbt
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/profile/Makefile b/sys/modules/dtrace/profile/Makefile
>     index aa36f9a2dfba..b3eec9a19f23 100644
>     --- a/sys/modules/dtrace/profile/Makefile
>     +++ b/sys/modules/dtrace/profile/Makefile
>     @@ -13,3 +13,4 @@ CFLAGS+=  ${OPENZFS_CFLAGS}
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/prototype/Makefile b/sys/modules/dtrace/prototype/Makefile
>     index 476c567a4dc0..189d6c2df2a2 100644
>     --- a/sys/modules/dtrace/prototype/Makefile
>     +++ b/sys/modules/dtrace/prototype/Makefile
>     @@ -13,3 +13,4 @@ CFLAGS+=  ${OPENZFS_CFLAGS}
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/sdt/Makefile b/sys/modules/dtrace/sdt/Makefile
>     index 2f6432e4a71f..a025848e3a60 100644
>     --- a/sys/modules/dtrace/sdt/Makefile
>     +++ b/sys/modules/dtrace/sdt/Makefile
>     @@ -12,3 +12,4 @@ CFLAGS+=  ${OPENZFS_CFLAGS}
>
>      .include <bsd.kmod.mk>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/systrace/Makefile b/sys/modules/dtrace/systrace/Makefile
>     index 3e122f70da25..2250a7418193 100644
>     --- a/sys/modules/dtrace/systrace/Makefile
>     +++ b/sys/modules/dtrace/systrace/Makefile
>     @@ -13,3 +13,4 @@ CFLAGS+=  ${OPENZFS_CFLAGS}
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/systrace_freebsd32/Makefile b/sys/modules/dtrace/systrace_freebsd32/Makefile
>     index 4661633f9a62..3b77bc4c6d0e 100644
>     --- a/sys/modules/dtrace/systrace_freebsd32/Makefile
>     +++ b/sys/modules/dtrace/systrace_freebsd32/Makefile
>     @@ -14,3 +14,4 @@ CFLAGS+=  -DFREEBSD32_SYSTRACE
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/systrace_linux/Makefile b/sys/modules/dtrace/systrace_linux/Makefile
>     index 7dbd88ffb5f0..56f422dfb9e5 100644
>     --- a/sys/modules/dtrace/systrace_linux/Makefile
>     +++ b/sys/modules/dtrace/systrace_linux/Makefile
>     @@ -15,3 +15,4 @@ CFLAGS+=  -DLINUX_SYSTRACE
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/dtrace/systrace_linux32/Makefile b/sys/modules/dtrace/systrace_linux32/Makefile
>     index 81aa1b7de9df..febd4a0c1bab 100644
>     --- a/sys/modules/dtrace/systrace_linux32/Makefile
>     +++ b/sys/modules/dtrace/systrace_linux32/Makefile
>     @@ -15,3 +15,4 @@ CFLAGS+=  -DLINUX32_SYSTRACE
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/opensolaris/Makefile b/sys/modules/opensolaris/Makefile
>     index 1b5dd6dffcfb..536b9637cd3c 100644
>     --- a/sys/modules/opensolaris/Makefile
>     +++ b/sys/modules/opensolaris/Makefile
>     @@ -34,3 +34,4 @@ IGNORE_PRAGMA=    1
>      .include <bsd.kmod.mk>
>
>      CFLAGS+=   -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>     diff --git a/sys/modules/zfs/Makefile b/sys/modules/zfs/Makefile
>     index 2318b9b155d3..d2617dc6bdc6 100644
>     --- a/sys/modules/zfs/Makefile
>     +++ b/sys/modules/zfs/Makefile
>     @@ -279,6 +279,7 @@ SRCS+=  zfs_zstd.c \
>
>      .include <bsd.kmod.mk>
>
>     +CWARNFLAGS+=       ${OPENZFS_CWARNFLAGS}
>
>      CFLAGS.gcc+= -Wno-pointer-to-int-cast
>
>
>


More information about the dev-commits-src-all mailing list