[gccsdk] RePackaging using trunk GCC instead of 4.1.2

John Tytgat John.Tytgat at aaug.net
Fri Jan 3 08:42:27 PST 2014


In message <52C6CC05.8090707 at sky.com>
          Lee Noar <leenoar at sky.com> wrote:

> I've been using trunk for some time for development and it seems
> stable to me. The only problem I've had is a crash in Cairo which
> I traced to file cairo-1.12.16/src/cairo-boxes-intersect.c, function
> sweep_line_init(), GCC 4.7.4 produced this code snippet:
> 
>    ldr	r0, [r0, #-3936]
>    ldr	r7, [r0, #-3940]
>    str	r9, [r7, r0, asl #2]
> 
> The first ldr corrupts r0 which is still required by the second ldr.
> I was able to work around it by declaring the function noinline.
> This must be an extremely obscure bug, because this is the only time
> I've seen it and I've compiled and run a fair bit of code with this
> compiler. Unfortunately, I wouldn't have a clue how to fix it.

One way is to figure out if this is still triggerable using arm-unknown-eabi
target using the same compiler sources (change TARGET in Makefile).
If so, then you can try later versions of the compiler and see if/when
it is solved.  If so, it helps retrieving the right patch.

I can help out if you want.

John.
-- 
John Tytgat, in his comfy chair at home
John.Tytgat at aaug.net




More information about the gcc mailing list