[project @ 2005-07-11 20:33:45 by panne]
After some experiments, it seems like we're stealing too many registers from
newer GCCs on SPARC, leading to
"unable to find a register to spill in class `GENERAL_REGS'"
errors. The fix is to leave l6 and l7 to GCC. Tested with a full 2-stage
bootstrap (including OpenGL/GLUT packages) on SPARC Solaris 8 with GCC 3.4.4.
A test case for this (which I'm too lazy/tired to commit) is:
module Blah ( foo ) where
import Foreign.Ptr ( FunPtr )
type Bar = Int -> Double -> Double -> Double -> IO ()
foreign import ccall unsafe "dynamic" foo :: FunPtr Bar -> Bar
SimonM: MERGE TO STABLE (if nobody yells)