Messages in this thread | | | Date | Thu, 4 Jan 2007 02:11:42 -0500 | From | "Albert Cahalan" <> | Subject | Re: kernel + gcc 4.1 = several problems |
| |
Linus Torvalds writes: > [probably Mikael Pettersson] writes:
>> The suggestions I've had so far which I have not yet tried: >> >> - Select a different x86 CPU in the config. >> - Unfortunately the C3-2 flags seem to simply tell GCC to >> schedule for ppro (like i686) and enabled MMX and SSE >> - Probably useless > > Actually, try this one. Try using something that doesn't like "cmov". > Maybe the C3-2 simply has some internal cmov bugginess.
Of course that changes register usage, register spilling, and thus ultimately even the stack layout. :-(
Adjusting gcc flags to eliminate optimizations is another way to go. Adding -fwrapv would be an excellent start. Lack of this flag breaks most code which checks for integer wrap-around. The compiler "knows" that signed integers don't ever wrap, and thus eliminates any code which checks for values going negative after a wrap-around. I could imagine this affecting a switch() or other jump table. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |