On Thu, Mar 7, 2013 at 12:24 AM, Mike Hommey <mh-...@glandium.org> wrote:
> Hi,
>
> At Mozilla, we've encountered a GCC 4.6 miscompilation in the ARMv6
> build of Firefox for Android. We'd like to evaluate whether this bug is
> hitting us in more places than the one we spotted. To that end, we'd
> need to know what particular bug in GCC leads to this miscompilation.
>
> The attached file is the preprocessed source, slightly simplified. I was
> able to reproduce the miscompilation with both the GCC 4.6 from the
> Android NDK r8d and 4.6.3 from Debian unstable. It apparently happens
> for any -march, with -marm, but not -mthumb. It happens at -Os but not
> -O2.

No attached file.  Also does -fno-strict-aliasing fix it?

Thanks,
Andrew

>
> The problematic assembly looks like the following. It corresponds to
> the C code after the second call to DER_SetUInteger in sftk_mkPrivKey::
>
>   bl      DER_SetUInteger(PLT)
>   mov     r3, #0
>   cmp     sl, r3
>   movne   r0, #2
>   moveq   r0, r3
>
> sl/r10 is never set anywhere in the function, so we're getting random
> behaviour.
>
> This doesn't happen with GCC 4.7, which suggests it may be a known bug.
> Any ideas?
>
> Cheers,
>
> Mike

Reply via email to