a...@netbsd.org wrote: > On Fri, Mar 27, 2009 at 12:25:41PM +0000, Izumi Tsutsui wrote: > > > Log Message: > > Use bus_space(9) to access registers. SETREG() macro using bogus casts > > against packed structures doesn't work on gcc4. (no character on screen) > > See also: > > http://mail-index.NetBSD.org/port-sparc/2003/11/11/0002.html > > It has been a long time, but from what I remember SETREG() was an invention > of mine to work around either a compiler or code bug. Maybe bus_space does > the same.
I'm not sure if it's a compiler bug or not, but SETREG() doesn't work on gcc4 while it's confirmed working on gcc3. (as the noted in the above mail, it looks generating byte access code) Removing __packed might also help, but bus_space(9) just works and it's a right way to go, I think. --- Izumi Tsutsui