Re: GCC 4.5.3 breaks sandpoint's altboot
[email protected] (Christos Zoulas) Sun, 23 Oct 2011 15:53:13 +0000 (UTC)
| Newsgroups | gmane.os.netbsd.devel.toolchain,gmane.os.netbsd.ports.sandpoint,gmane.os.netbsd.ports.powerpc |
|---|---|
| Message-ID | <[email protected]> |
In article <[email protected]>, Frank Wille <[email protected]> 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