From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752528AbdBNGm3 (ORCPT ); Tue, 14 Feb 2017 01:42:29 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:34152 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752324AbdBNGm0 (ORCPT ); Tue, 14 Feb 2017 01:42:26 -0500 Date: Tue, 14 Feb 2017 07:42:21 +0100 From: Ingo Molnar To: Stephen Rothwell Cc: David Miller , Networking , linux-next@vger.kernel.org, linux-kernel@vger.kernel.org, Alexei Starovoitov , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Alexander Shishkin , Jiri Olsa , Arnaldo Carvalho de Melo Subject: Re: linux-next: build failure after merge of the net tree Message-ID: <20170214064221.GB10242@gmail.com> References: <20170214091250.57d054b2@canb.auug.org.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170214091250.57d054b2@canb.auug.org.au> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Stephen Rothwell wrote: > Hi all, > > After merging the net tree, today's linux-next build (powerpc64le perf) > failed like this: > > Warning: tools/include/uapi/linux/bpf.h differs from kernel > bpf.c: In function 'bpf_prog_attach': > bpf.c:180:6: error: 'union bpf_attr' has no member named 'attach_flags'; did you mean 'map_flags'? > attr.attach_flags = flags; > ^ > > Caused by commit > > 7f677633379b ("bpf: introduce BPF_F_ALLOW_OVERRIDE flag") > > Unfortunately, the perf header files are kept separate from the kernel > header files proper and are not automatically copied over :-( No, that's wrong, the problem is not that headers were not shared, the problem is that a tooling interdependency was not properly tested *and* that the dependency was not properly implemented in the build system either. Note that we had similar build breakages when include headers _were_ shared as well, so sharing the headers would only have worked around this particular bug and would have introduced fragility in other places... The best, most robust solution in this particular case would be to fix the (tooling) build system to express the dependency, that would have shown the build failure right when the modification was done. Thanks, Ingo