Re: [PATCH, -v2] compiler/gcc4: Add quirk for 'asm goto'miscompilation bug

From: Ingo Molnar
Date: Thu Oct 10 2013 - 11:04:24 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> > So for >= 4.8.3 just assume no workaround is needed, otherwise scan
> > assembly.
>
> Right, tedious and error prone it is.. :-)
>
> Would it make sense to create something whereby GCC can tell us about
> these things? Maybe something like:
>
> __builtin_bug_fixed(58670)
>
> Which would default return 0, and only return 1 when its a known number.
>
> But yes, I also see why you'd not want to do that. I suppose all I'm
> saying is it would be nice to be able to detect some arbitrary issue
> being fixed.

Basically not a monolithic 1-dimensional feature value but a more
finegrained multi-dimensional feature vector would be nice.

It could be used not just for bugs but for all regular features as well,
as they are added.

Something like:

__builtin_feature(asm_goto)

would return 1 for a basic asm goto implementation and 0 for unknown
feature strings. Any individual bug, if applications are affected by it,
would then would be discoverable:

__builtin_feature(asm_goto_bug_58670_fixed)

(or a fully symbolic name would suffice as well.) On old GCC this would
return 1, on anything 4.8.2 and higher it would return 1.

Thanks,

Ingo
--
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/