2023-04-18 10:55 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> (Repost from https://lore.kernel.org/all/20230412123636.2358949-1-tmricht@xxxxxxxxxxxxx) Acked-by: Quentin Monnet <quentin@xxxxxxxxxxxxx>