In message <[email protected]> Lee Noar <[email protected]> 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 [email protected] _______________________________________________ GCCSDK mailing list [email protected] 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
