On Wed, 6 May 2015, Jakub Jelinek wrote: > The linker would know very well what kind of relocations are used for > particular PLT slot, and for the new relocations which would resolve to the > address of the .got.plt slot it could just tweak corresponding 3rd insn > in the slot, to not jump to first plt slot - 16, but a few bytes before that > that would just load the address of _G_O_T_ into %ebx and then fallthru > into the 0x4c2b7310 snippet above. The lazy binding would be a few ticks > slower in that case, but no requirement on %ebx to contain _G_O_T_.
No, %ebx is callee-saved, so you can't outright overwrite it in the PLT stub. Alexander