On Fri, Oct 13, 2006 at 03:18:41PM -0400, Antonio SJ Musumeci wrote: > Wouldn't it be better to check the macro in the preprocessor instead of > runtime? And why are those defined to 0 instead of explicitly undef'ed? > I've found one bug because it was assumed to be undefined instead of 0. > If no one objects I'll post a patch undefing those and fix any bugs I've > found because of them. Any reasonable system configuration will define cpu_has_llsc to 1 in order to override the default. R10000_LLSC_WAR is a constant as well. So only one of the three if blocks will remain. If that's not the case you either don't have a cpu-feature-overrides.h file for your platform or it doesn't define cpu_has_llsc to a constant expression. Ralf