On Fri, Oct 09, 2020 at 03:28:46PM +1100, Stephen Rothwell wrote: > Hi all, > > After merging the tip tree, today's linux-next build (perf) failed > like this: > > In file included from tools/include/linux/build_bug.h:5, > from tools/include/linux/kernel.h:8, > from util/intel-pt-decoder/intel-pt-insn-decoder.c:7: > util/intel-pt-decoder/../../../arch/x86/lib/insn.c: In function '__insn_get_emulate_prefix': > tools/include/linux/compiler.h:37:38: error: nested extern declaration of '__compiletime_assert_0' [-Werror=nested-externs] > 37 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) > | ^~~~~~~~~~~~~~~~~~~~~ ...snip... > > Caused by commit > > 2a522b53c470 ("x86/insn: Support big endian cross-compiles") > > I have reverted commits > > a23b701ae9b3 objtool: Rework header include paths > 1b4998c364bc objtool: Fix x86 orc generation on big endian cross compiles > 317664a7fcc9 objtool: Fix reloc generation on big endian cross compiles > 2a522b53c470 x86/insn: Support big endian cross-compiles > 2486baae2cf6 objtool: Allow nested externs to enable BUILD_BUG() > > for today. > > This is a PowerPC LE native build of tools/perf. Oh, I missed that. Sorry about that. Obviously x86 instruction decoder is also used in perf. The question is, should we just disable -Wnested-externs for perf like we did for the objtool. Or since we got BUILD_BUG() implementation in tools simply disable -Wnested-externs for all tools altogether? By throwing it out of EXTRA_WARNINGS. Vasily Gorbik (1): perf build: Allow nested externs to enable BUILD_BUG() usage tools/perf/Makefile.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- ⣿⣿⣿⣿⢋⡀⣀⠹⣿⣿⣿⣿ ⣿⣿⣿⣿⠠⣶⡦⠀⣿⣿⣿⣿ ⣿⣿⣿⠏⣴⣮⣴⣧⠈⢿⣿⣿ ⣿⣿⡏⢰⣿⠖⣠⣿⡆⠈⣿⣿ ⣿⢛⣵⣄⠙⣶⣶⡟⣅⣠⠹⣿ ⣿⣜⣛⠻⢎⣉⣉⣀⠿⣫⣵⣿