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.