Re: [PATCH 2/2] perf tools: Fix strict alias issue for find_first_bit

From: Arnaldo Carvalho de Melo
Date: Thu Mar 06 2014 - 15:55:29 EST


Em Fri, Feb 28, 2014 at 10:29:23PM +0100, Peter Zijlstra escreveu:
> On Fri, Feb 28, 2014 at 06:25:51PM -0300, Arnaldo Carvalho de Melo wrote:
> > From: Jiri Olsa <jolsa@xxxxxxxxxx>

> > The gcc documentation offers workaround for valid aliasing by using
> > __may_alias__ attribute:

> > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Type-Attributes.html

> > Using this workaround for the find_first_bit function.

> Hurm; didn't I suggest using -fno-strict-aliasing just like the kernel
> does? Because the C aliasing rules are bonghits heavy?

Either way would solve the problem at hand, I just used the smaller
hammer offered.

I thought that Ingo had something against this, but only reference I
could find now about it was this:

--------------------------------------------

commit 65014ab36196f6d86edc9ee23759d6930b9d89a8
Author: Ingo Molnar <mingo@xxxxxxx>
Date: Wed Sep 2 14:55:55 2009 +0200

perf tools: Work around strict aliasing related warnings

Older versions of GCC are rather stupid about strict aliasing:

<SNIP>

Make it clear to GCC that we intend with those pointers, by passing
them through via an explicit (void *) cast.

We might want to add -fno-strict-aliasing as well, like the kernel
itself does.

Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
--------------------------------------------

Jiri's bandaid is for _newer_ compilers, so...

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/