From: Nick Desaulniers <ndesaulniers@google.com>
To: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Cc: bpf@vger.kernel.org, Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
Martin KaFai Lau <kafai@fb.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH bpf-next v4 6/8] compiler_types.h: Add unified __diag_ignore_all for GCC/LLVM
Date: Mon, 7 Mar 2022 11:30:18 -0800 [thread overview]
Message-ID: <YiZdSoNcaESkzvBs@google.com> (raw)
In-Reply-To: <20220304224645.3677453-7-memxor@gmail.com>
On Sat, Mar 05, 2022 at 04:16:43AM +0530, Kumar Kartikeya Dwivedi wrote:
> Add a __diag_ignore_all macro, to ignore warnings for both GCC and LLVM,
> without having to specify the compiler type and version. By default, GCC
> 8 and clang 11 are used. This will be used by bpf subsystem to ignore
> -Wmissing-prototypes warning for functions that are meant to be global
> functions so that they are in vmlinux BTF, but don't have a prototype.
>
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
> ---
> include/linux/compiler-clang.h | 3 +++
> include/linux/compiler-gcc.h | 3 +++
> include/linux/compiler_types.h | 4 ++++
> 3 files changed, 10 insertions(+)
>
> diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h
> index f1aa41d520bd..babb1347148c 100644
> --- a/include/linux/compiler-clang.h
> +++ b/include/linux/compiler-clang.h
> @@ -90,3 +90,6 @@
> #else
> #define __diag_clang_11(s)
> #endif
> +
> +#define __diag_ignore_all(option, comment) \
> + __diag_clang(11, ignore, option)
> diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
> index ccbbd31b3aae..d364c98a4a80 100644
> --- a/include/linux/compiler-gcc.h
> +++ b/include/linux/compiler-gcc.h
> @@ -151,6 +151,9 @@
> #define __diag_GCC_8(s)
> #endif
>
> +#define __diag_ignore_all(option, comment) \
> + __diag_GCC(8, ignore, option)
While this approach will work for clang, it doesn't seem scalable for
GCC. Documentation/process/changes.rst documents that we support gcc
5.1+. This approach will only disable diagnostics for gcc 8+.
> +
> /*
> * Prior to 9.1, -Wno-alloc-size-larger-than (and therefore the "alloc_size"
> * attribute) do not work, and must be disabled.
> diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
> index 3f31ff400432..8e5d2f50f951 100644
> --- a/include/linux/compiler_types.h
> +++ b/include/linux/compiler_types.h
> @@ -371,4 +371,8 @@ struct ftrace_likely_data {
> #define __diag_error(compiler, version, option, comment) \
> __diag_ ## compiler(version, error, option)
>
> +#ifndef __diag_ignore_all
> +#define __diag_ignore_all(option, comment)
> +#endif
> +
> #endif /* __LINUX_COMPILER_TYPES_H */
> --
> 2.35.1
>
next prev parent reply other threads:[~2022-03-07 19:30 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-04 22:46 [PATCH bpf-next v4 0/8] Fixes for bad PTR_TO_BTF_ID offset Kumar Kartikeya Dwivedi
2022-03-04 22:46 ` [PATCH bpf-next v4 1/8] bpf: Add check_func_arg_reg_off function Kumar Kartikeya Dwivedi
2022-03-04 22:46 ` [PATCH bpf-next v4 2/8] bpf: Fix PTR_TO_BTF_ID var_off check Kumar Kartikeya Dwivedi
2022-03-04 22:46 ` [PATCH bpf-next v4 3/8] bpf: Disallow negative offset in check_ptr_off_reg Kumar Kartikeya Dwivedi
2022-03-04 22:46 ` [PATCH bpf-next v4 4/8] bpf: Harden register offset checks for release helpers and kfuncs Kumar Kartikeya Dwivedi
2022-03-04 22:46 ` [PATCH bpf-next v4 5/8] compiler-clang.h: Add __diag infrastructure for clang Kumar Kartikeya Dwivedi
2022-03-07 19:25 ` Nick Desaulniers
2022-03-07 19:27 ` Nick Desaulniers
2022-03-07 20:50 ` Kumar Kartikeya Dwivedi
2022-03-04 22:46 ` [PATCH bpf-next v4 6/8] compiler_types.h: Add unified __diag_ignore_all for GCC/LLVM Kumar Kartikeya Dwivedi
2022-03-07 19:30 ` Nick Desaulniers [this message]
2022-03-07 20:51 ` Kumar Kartikeya Dwivedi
2022-03-04 22:46 ` [PATCH bpf-next v4 7/8] bpf: Replace __diag_ignore with unified __diag_ignore_all Kumar Kartikeya Dwivedi
2022-03-04 22:46 ` [PATCH bpf-next v4 8/8] selftests/bpf: Add tests for kfunc register offset checks Kumar Kartikeya Dwivedi
2022-03-04 23:26 ` [PATCH bpf-next v4 0/8] Fixes for bad PTR_TO_BTF_ID offset Martin KaFai Lau
2022-03-05 23:40 ` patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YiZdSoNcaESkzvBs@google.com \
--to=ndesaulniers@google.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=kafai@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=memxor@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.