In message <52C6CC05.8090707@sky.com>
Lee Noar <leenoar@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@aaug.net
_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK
No comments:
Post a Comment