On Tue, Oct 08, 2013 at 08:51:54PM +0200, Oleg Nesterov wrote: > On 10/08, Linus Torvalds wrote: > > > > (not yet merged), see: > > > > > > http://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?id=0c44c2d0f459cd7e275242b72f500137c4fa834d > > I do not really understand inline assembly constraints, but I'll ask > anyway. > > +#define __GEN_RMWcc(fullop, var, cc, ...) \ > +do { \ > + asm volatile goto (fullop "; j" cc " %l[cc_label]" \ > + : : "m" (var), ## __VA_ARGS__ \ > ^^^^^^^^^ > > don't we need > > "+m" (var) > > here?
You actually can't have output operands with asm goto, only inputs and clobbers. But the "memory" clobber should be enough here. If you suspect a compiler bug, can somebody please narrow it down to a single object file (if I've skimmed the patch right, it is just an optimization, where object files compiled without and with the patch should actually coexist fine in the same kernel), ideally to a single routine if possible and post a preprocessed source + gcc command line + version of gcc? Jakub -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/