summaryrefslogtreecommitdiff
path: root/tools/build
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@redhat.com>2015-10-13 10:52:14 +0200
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-10-13 11:43:16 -0300
commitc95f3432118c6b7a3bde63aa6eb95ccd163119eb (patch)
tree9626a60d6f12b1e64b4400c87de31c5df9ce672f /tools/build
parent31eb4360546b4bd890f349db01295a173c09b0fb (diff)
tools include: Fix strict-aliasing rules breakage
Vinson reported build breakage with gcc 4.4 due to strict-aliasing. CC util/annotate.o cc1: warnings being treated as errors util/annotate.c: In function ‘disasm__purge’: linux-next/tools/include/linux/compiler.h:66: error: dereferencing pointer ‘res.41’ does break strict-aliasing rules The reason is READ_ONCE/WRITE_ONCE code we took from kernel sources. They intentionaly break aliasing rules. While this is ok for kernel because it's built with -fno-strict-aliasing, it breaks perf which is build with -Wstrict-aliasing=3. Using extra __may_alias__ type to allow aliasing in this case. Reported-and-tested-by: Vinson Lee <vlee@twopensource.com> Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Martin Liska <mliska@suse.cz> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Rabin Vincent <rabin@rab.in> Cc: linux-next@vger.kernel.org Link: http://lkml.kernel.org/r/20151013085214.GB2705@krava.brq.redhat.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/build')
0 files changed, 0 insertions, 0 deletions