Re: [PATCH] bpftool: fix broken compile on s390 for linux-next repository

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2023-04-12 14:36 UTC+0200 ~ Thomas Richter <tmricht@xxxxxxxxxxxxx>
> Commit 9fd496848b1c ("bpftool: Support inline annotations when dumping the CFG of a program")
> breaks the build of the perf tool on s390 in the linux-next repository.
> Here is the make output:
> 
> make -C tools/perf
> ....
> btf_dumper.c: In function 'dotlabel_puts':
> DEBUG: btf_dumper.c:838:25: error: '__fallthrough' undeclared \
> 		(first use in this function); did you mean 'fallthrough'?
> DEBUG:   838 |                         __fallthrough;
> DEBUG:       |                         ^~~~~~~~~~~~~
> DEBUG:       |                         fallthrough
> DEBUG: btf_dumper.c:838:25: note: each undeclared identifier is reported \
> 		only once for each function it appears in
> DEBUG: btf_dumper.c:837:25: warning: this statement may fall through \
>                 [-Wimplicit-fallthrough=]
> DEBUG:   837 |                         putchar('\\');
> DEBUG:       |                         ^~~~~~~~~~~~~
> DEBUG: btf_dumper.c:839:17: note: here
> DEBUG:   839 |                 default:
> DEBUG:       |                 ^~~~~~~
> DEBUG: make[3]: *** [Makefile:247: /builddir/build/BUILD/kernel-6.2.fc37/\
> 		        linux-6.2/tools/perf/util/bpf_skel/ \
> 		        .tmp/bootstrap/btf_dumper.o] Error 1
> 
> The compile fails because symbol __fallthrough unknown, but symbol
> fallthrough is known and works fine.
> 
> Fix this and replace __fallthrough by fallthrough.
> 
> With this change, the compile works.
> 
> Output after:
> 
>  # make -C tools/perf
>  ....
>  CC      util/bpf-filter.o
>  CC      util/bpf-filter-flex.o
>  LD      util/perf-in.o
>  LD      perf-in.o
>  LINK    perf
>  make: Leaving directory '/root/mirror-linux-next/tools/perf'
>  #
> 
> Fixes: 9fd496848b1c ("bpftool: Support inline annotations when dumping the CFG of a program")
> Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxx>
> ---
>  tools/bpf/bpftool/btf_dumper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/bpf/bpftool/btf_dumper.c b/tools/bpf/bpftool/btf_dumper.c
> index 6c5e0e82da22..1b7f69714604 100644
> --- a/tools/bpf/bpftool/btf_dumper.c
> +++ b/tools/bpf/bpftool/btf_dumper.c
> @@ -835,7 +835,7 @@ static void dotlabel_puts(const char *s)
>  		case '|':
>  		case ' ':
>  			putchar('\\');
> -			__fallthrough;
> +			fallthrough;
>  		default:
>  			putchar(*s);
>  		}

Also reported by Sven Schnelle, and discussed at
https://lore.kernel.org/all/yt9dttxlwal7.fsf@xxxxxxxxxxxxx/.

This is for linux-next, it cannot go through bpf-next given that commit
f7a858bffcdd ("tools: Rename __fallthrough to fallthrough") is not in
there yet.

Acked-by: Quentin Monnet <quentin@xxxxxxxxxxxxx>

Thanks!
Quentin



[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux