d021434a7960 - main - openzfs: fix gcc kernel module builds
Ravi Pokala
rpokala at freebsd.org
Sun Jan 3 06:24:45 UTC 2021
-----Original Message-----
From: Ryan Libby <rlibby at freebsd.org>
Date: 2021-01-01, Friday at 17:10
To: Ravi Pokala <rpokala at freebsd.org>
Cc: src-committers <src-committers at freebsd.org>, <dev-commits-src-all at freebsd.org>, <dev-commits-src-main at freebsd.org>
Subject: Re: d021434a7960 - main - openzfs: fix gcc kernel module builds
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.
Ah! I see what happened there.
Thanks,
Ravi (rpokala@)
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