> -----Original Message----- > From: Dave Hansen [mailto:dave.han...@linux.intel.com] > Sent: Tuesday, January 6, 2015 9:30 PM > To: Andy Lutomirski > Cc: Andi Kleen; linux-kernel@vger.kernel.org; X86 ML; Thomas Gleixner; > Enkovich, Ilya > Subject: Re: [PATCH 3.19 3/3] x86, mpx: Change the MPX enable/disable API > to arch_prctl > > On 01/06/2015 10:06 AM, Andy Lutomirski wrote: > > On Tue, Jan 6, 2015 at 9:48 AM, Dave Hansen > <dave.han...@linux.intel.com> 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.
Runtime library is not in GCC trunk yet. It is available as a patch in GCC mailing list (https://gcc.gnu.org/ml/gcc-patches/2014-12/msg00752.html) and also can be downloaded from Intel Developer Zone (https://software.intel.com/en-us/articles/mpx-support-in-gcc-50). Ilya > > >> 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-int > > el-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.