tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: GCC 4.5.3 breaks sandpoint's altboot



In article <3f97ce7835f.3fb8ee%mail.pb-owl.de@localhost>,
Frank Wille  <frank%phoenix.owl.de@localhost> wrote:
>Hi,
>
>it seems there is still a problem when using GCC 4.5.3 for PowerPC.
>Sandpoint's standalone boot loader "altboot" (refer to:
>src/sys/arch/sandpoint/stand/altboot/) is no longer stable since our switch.
>
>The bug is quite mysterious. When I added some printf()s, while trying to
>find the crash location, I got new crashes, in the middle of those printf
>calls!
>
>I used constructs like:
>    printf("1234567890 XXXXXXXXXXX\n");
>    delay(2000000);
>and it prints a random number of digits to the serial console, when reaching
>a specific function (it works in other functions). Sometimes "1234", then
>"1234567". Then it freezes (crashes). I have no idea what is causing that.
>
>Yesterday I decided to go back to GCC 4.1.3 (./build.sh -V HAVE_GCC=4). And
>this made altboot work again! No more problems at all! So it is quite
>likely we have a 4.5.3 related issue somewhere.
>
>As a PPC kernel seems to work quite well with 4.5.3 for most ports, I
>suspect there is still a problem with 4.5.3 support code in libkern or
>libsa, which is used for standalone programs only?
>
>Any idea where to look? What has changed for 4.5.3?
>src/sys/lib/libkern/arch/powerpc/gprsavrest.S, which also caused problems
>with altboot, was already fixed some weeks ago, and seems ok now.

Check the assembly generated. Since you mention you only reverted gcc and
not binutils, I presume it is not binutils fault.

christos



Home | Main Index | Thread Index | Old Index