Re: [PATCH 3.19 3/3] x86, mpx: Change the MPX enable/disable API to arch_prctl

From: Dave Hansen
Date: Tue Jan 06 2015 - 13:30:18 EST


On 01/06/2015 10:06 AM, Andy Lutomirski wrote:
> On Tue, Jan 6, 2015 at 9:48 AM, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> wrote:
>> On 01/05/2015 09:59 PM, Andy Lutomirski wrote:
>>> But I decided to check whether libmpx links against glibc, and I can't
>>> find sources for it at all. Do they exist? Is there any code with
>>> source available that invokes this prctl?
>>>
>>> If not, I personally have very little sympathy for the argument that a
>>> binary buried in the depths of the Intel SDE would need to change if
>>> we switched to using arch_prctl. And I think that it should issue the
>>> syscall itself without using glibc, in which case the syscall wrapper
>>> issue is moot.
>>
>> Andy, as I mentioned previously, there is code in a GCC branch that uses
>> the existing prctl(). It's also been posted for review to one of the
>> GCC mailing lists. I've been told that it will be in gcc 5.0.
>
> Can you point me to it? I found the code generation stuff in the gcc
> branch, but I couldn't find the runtime.

cc'ing Ilya who is working on the gcc parts...

Ilya, is the MPX runtime that uses the prctl() calls available somewhere
publicly that it can be grabbed?

I couldn't find it in GCC SVN anywhere.

>> The Intel SDE does not use the prctl() in any way that I know of.
>
> I found a couple references suggesting that libmpx lived in the SDE.
> For example:
>
> https://software.intel.com/en-us/articles/using-intel-mpx-with-the-intel-software-development-emulator

Andy, I think you're mistaken. The SDE allows you to run MPX code on a
system without MPX support in hardware. It does not, itself, provide
MPX code. The references you see there are to a runtime library that
you obtain separately from the SDE. You run the library _under_ the SDE.

I hope this clears things up.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/