On Tue, May 04, 2021 at 07:12:01AM -0700, Alexei Starovoitov wrote: > On Tue, May 4, 2021 at 4:05 AM Alejandro Colomar <alx.manpages@xxxxxxxxx> 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@xxxxxxxxx> > > Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> > > Cc: glibc <libc-alpha@xxxxxxxxxxxxxx> > > Cc: GCC <gcc-patches@xxxxxxxxxxx> > > Cc: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> > > Cc: bpf <bpf@xxxxxxxxxxxxxxx> > > Cc: David Laight <David.Laight@xxxxxxxxxx> > > Cc: Zack Weinberg <zackw@xxxxxxxxx> > > Cc: Joseph Myers <joseph@xxxxxxxxxxxxxxxx> > > --- > > 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@xxxxxxxxxx> I agree, the two are not the same type at all, this change should not be accepted. thanks, greg k-h