Re: [memcg:auto-latest 238/243] include/linux/compiler-gcc.h:243:38: error: impossible constraint in 'asm'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2016-08-01 at 22:41 +1000, oliver wrote:
> 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

Yes, the way I solved the issue was to look at the RTL and provide
hints to the compiler that the passed argument was a constant and it
needed to be passed as such to the instruction

I would suggest just looking at the RTL and figuring out why the constraints
break

Balbir Singh.

--
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=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]