On Tuesday 14 August 2012, Catalin Marinas wrote: > +#ifdef CONFIG_AARCH32_EMULATION > +#define compat_thumb_mode(regs) \ > + (((regs)->pstate & COMPAT_PSR_T_BIT)) > +#else > +#define compat_thumb_mode(regs) (0) > +#endif The symbol we use on other platforms is CONFIG_COMPAT. I don't think you need to have a separate CONFIG_AARCH32_EMULATION > +void __bad_xchg(volatile void *ptr, int size) > +{ > + printk("xchg: bad data size: pc 0x%p, ptr 0x%p, size %d\n", > + __builtin_return_address(0), ptr, size); > + BUG(); > +} > +EXPORT_SYMBOL(__bad_xchg); > + I think we're better off not defining this function. My guess is that initially the idea on ARM was that it was meant as a BUILD_BUG_ON replacement, but the someone added this function. And you copied it. Microblaze has the same declaration, but (correctly) misses the definition, which produces a much more helpful link failure than a run-time BUG(). Using BUILD_BUG_ON would be even better. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html