On Mon, Aug 1, 2016 at 9:27 PM, Martin Liška <mliska@xxxxxxx> wrote: > On 08/01/2016 01:09 PM, Michal Hocko wrote: >> [CC our gcc guy - I guess he has some theory for this] >> >> On Sun 31-07-16 14:11:25, Michal Hocko wrote: >>> It seems that this has been already reported and Jason has noticed [1] that >>> the problem is in the disabled optimizations: >>> >>> $ grep CRYPTO_DEV_UX500_DEBUG .config >>> CONFIG_CRYPTO_DEV_UX500_DEBUG=y >>> >>> if I disable this particular option the code compiles just fine. I have >>> no idea what is wrong about the code but it seems to depend on >>> optimizations enabled which sounds a bit scrary... >>> >>> [1] http://www.spinics.net/lists/linux-mm/msg109590.html > > Hi. > > The difference is that w/o any optimization level, GCC doesn't make %c0 an > intermediate integer operand [1] (see description of "i" constraint). We recently hit a similar problem on ppc where the compiler couldn't satisfy an "i" when it was wrapped in an function and optimisations were disabled. The fix[1] was to change the function signature so that it's arguments were explicitly const. I don't know enough about gcc to tell if that behaviour is arch specific or not, but it's worth trying. Oliver [1] https://lists.ozlabs.org/pipermail/skiboot/2016-July/004061.html -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href