re: GCC 4.5.3 breaks sandpoint's altboot
matthew green <[email protected]> Sun, 23 Oct 2011 22:10:56 +1100
| Newsgroups | gmane.os.netbsd.devel.toolchain,gmane.os.netbsd.ports.sandpoint,gmane.os.netbsd.ports.powerpc |
|---|---|
| Message-ID | <[email protected]> |
[ horror stories elided ] > 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. first thing i would look at is asm() calls. newer GCC traditionally has enforced stricter asm calls, in particular, marking which values and or registers are input/output values. one thing you can do is check which file breaks, by compiling each file used with each compiler and seeing when it breaks, or also by using -O0 vs -O2. an actual ".S" file shouldn't be a problem. .mrg.