Re: "m" constraints, jumps, and alternatives

2014-02-20 Thread H. Peter Anvin
On 02/20/2014 07:30 PM, Brian Gerst wrote: > > The percpu code uses %P to force absolute addressing mode, instead of > rip-relative. > P -- if PIC, print an @PLT suffix. Clearly it has more effects than that... as the code does reveal: /* Avoid (%rip) for call operands. */ if (

Re: "m" constraints, jumps, and alternatives

2014-02-20 Thread Linus Torvalds
On Thu, Feb 20, 2014 at 3:27 PM, H. Peter Anvin wrote: > > Another option is to say "don't do that then", and weed out the current > uses of "m" and instead force the pointer in question explicitly into a > register. Passing addresses in registers is usually a *horrible* thing for the kernel, bec

"m" constraints, jumps, and alternatives

2014-02-20 Thread H. Peter Anvin
Hi all, The alternatives mechanism suffers from problems whenever there are PC-relative items in the instruction stream. We currently have a hack in the alternatives mechanism where we detect the opcode of a call or jmp instruction and adjust the offset, but that only works if the replacement cod