MPX ABI extension

Ilya Enkovich enkovich.gnu@gmail.com
Mon Aug 26 15:12:00 GMT 2013


Hi,

Here is a patch to extend x86-64 psABI to support MPX [1].

A short description of changes:
 - There are 4 bound registers (bnd0-bnd3) added; all of them are caller-save
 - When we pass (return) pointer on register, we use the next
available bound register to pass (return) bounds
 - If there is no free bound register, use bounds table with special address
 - When pointer is passed on stack, bounds table is used to pass bounds
 - For vararg functions pass bounds for each arg ignoring its type; it
allows to avoid problem of bounds mismatch when caller and callee use
different types to pass/get arg.

[1] http://software.intel.com/sites/default/files/319433-015.pdf

Thanks,
Ilya
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MPX-ABI.patch
Type: application/octet-stream
Size: 16127 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20130826/2b018e18/attachment.obj>


More information about the Binutils mailing list