On Mon, 7 Mar 2016, Alan Stern wrote: > > 319: 9c pushfq > > 31a: 41 5c pop %r12 > > 31c: 48 89 df mov %rbx,%rdi > > 31f: e8 00 00 00 00 callq 324 <usbhid_close+0x44> > > 324: 41 54 push %r12 > > 326: 9d popfq > > spin_unlock_irq(&usbhid->lock); while attempting to preserve the Z > flag. The problem is that this code sequence will also preserve the > Interrupt Flag! You are right Alan, thanks a lot, for reason I could not understand I completely missed the pushf/popf last time I was looking at the generated assembly! OK, a little bit of googling revealed related discussion on LLVM mailinglist: http://lists.llvm.org/pipermail/llvm-dev/2015-July/088780.html Seems like it has been reported already, but noone dared to fix it yet. This basically makes LLVM unusable for compiling the kernel. -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html