[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAADnVQLdW=jH1CUP02jokEu3Sh+=xKsCXvjA19kfz7KOn9mzkA@mail.gmail.com>
Date: Tue, 4 May 2021 07:12:01 -0700
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Alejandro Colomar <alx.manpages@...il.com>
Cc: "Michael Kerrisk (man-pages)" <mtk.manpages@...il.com>,
linux-man <linux-man@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
glibc <libc-alpha@...rceware.org>, GCC <gcc-patches@....gnu.org>,
bpf <bpf@...r.kernel.org>,
David Laight <David.Laight@...lab.com>,
Zack Weinberg <zackw@...ix.com>,
Joseph Myers <joseph@...esourcery.com>
Subject: Re: [RFC v2] bpf.2: Use standard types and attributes
On Tue, May 4, 2021 at 4:05 AM Alejandro Colomar <alx.manpages@...il.com> wrote:
>
> Some manual pages are already using C99 syntax for integral
> types 'uint32_t', but some aren't. There are some using kernel
> syntax '__u32'. Fix those.
>
> Some pages also document attributes, using GNU syntax
> '__attribute__((xxx))'. Update those to use the shorter and more
> portable C11 keywords such as 'alignas()' when possible, and C2x
> syntax '[[gnu::xxx]]' elsewhere, which hasn't been standardized
> yet, but is already implemented in GCC, and available through
> either --std=c2x or any of the --std=gnu... options.
>
> The standard isn't very clear on how to use alignas() or
> [[]]-style attributes, so the following link is useful in the case
> of 'alignas()' and '[[gnu::aligned()]]':
> <https://stackoverflow.com/q/67271825/6872717>
>
> Signed-off-by: Alejandro Colomar <alx.manpages@...il.com>
> Cc: LKML <linux-kernel@...r.kernel.org>
> Cc: glibc <libc-alpha@...rceware.org>
> Cc: GCC <gcc-patches@....gnu.org>
> Cc: Alexei Starovoitov <alexei.starovoitov@...il.com>
> Cc: bpf <bpf@...r.kernel.org>
> Cc: David Laight <David.Laight@...LAB.COM>
> Cc: Zack Weinberg <zackw@...ix.com>
> Cc: Joseph Myers <joseph@...esourcery.com>
> ---
> man2/bpf.2 | 49 ++++++++++++++++++++++++-------------------------
> 1 file changed, 24 insertions(+), 25 deletions(-)
>
> diff --git a/man2/bpf.2 b/man2/bpf.2
> index 6e1ffa198..04b8fbcef 100644
> --- a/man2/bpf.2
> +++ b/man2/bpf.2
> @@ -186,41 +186,40 @@ commands:
> .PP
> .in +4n
> .EX
> -union bpf_attr {
> +union [[gnu::aligned(8)]] bpf_attr {
> struct { /* Used by BPF_MAP_CREATE */
> - __u32 map_type;
> - __u32 key_size; /* size of key in bytes */
> - __u32 value_size; /* size of value in bytes */
> - __u32 max_entries; /* maximum number of entries
> - in a map */
> + uint32_t map_type;
> + uint32_t key_size; /* size of key in bytes */
> + uint32_t value_size; /* size of value in bytes */
> + uint32_t max_entries; /* maximum number of entries
> + in a map */
For the same reasons as explained earlier:
Nacked-by: Alexei Starovoitov <ast@...nel.org>
Powered by blists - more mailing lists