[x86-64 psABI] RFC: Extend x86-64 PLT entry to support MPX
Jakub Jelinek
jakub@redhat.com
Wed Aug 14 15:50:00 GMT 2013
On Tue, Jul 23, 2013 at 12:49:06PM -0700, H.J. Lu wrote:
> There are 2 psABI considerations:
>
> 1. Should PLT entries in all binaries, with and without MPX, be changed
> to 32-byte or just the necessary ones?
Ugh, please don't.
> 2. Only branch to PLT entry with BND prefix needs 32-byte PLT entry. If
> we use 32-byte PLT entry only when needed, it can be decided by:
> a. A new MPX PLT relocation:
> i. No new run-time relocation since MPX PLT relocation is
> resolved to branch to PLT entry at link-time.
> ii. Pro: No new section.
> iii. Con:
> Need a new relocation.
> Can't mark executable nor shared library.
I think I prefer new relocation, @mpxplt or similar. The linker could then
use the 32-byte PLT slot for both @plt and @mpxplt relocs if there is at
least one @mpxplt reloc for the symbol, otherwise it would use 16-byte PLT
slot. And you can certainly mark executables or PIEs or shared libraries
this way, the linker could do that if it creates any 32-byte PLT slot.
Jakub
More information about the Binutils
mailing list