This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/N, MPX, x86_64] Intel MPX support in glibc for x86_64


On 03/18/2014 10:22 AM, Zamyatin, Igor wrote:
> Hi All!
> 
> Attached patch continues (see the beginning here -
> http://sourceware.org/ml/libc-alpha/2014-03/msg00491.html) adding
> support for Intel MPX in Glibc for x86_64. Current change performs
> storing and restoring of bound registers before and after
> _dl_profile_fixup call.
> 
> Is it ok to install?
> 
> 2014-03-18  Igor Zamyatin  <igor.zamyatin@intel.com>
> 
> 	* sysdeps/x86_64/bits/link.h (La_x86_64_regs): Add lr_bnd.
> 	(La_x86_64_retval): Add lrv_bnd0 and lrv_bnd1.
> 	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Add preserving
> 	of the Intel MPX bound registers before call of _dl_profile_fixup.
> 	* sysdeps/x86_64/dl-trampoline.h: Add restoring of the Intel MPX bound
> 	registers after call of _dl_profile_fixup.
> 

The glibc INSTALL only requires gcc 4.4 and newer, and that
doesn't support __int128.

This breaks building glibc with gcc 4.4 and impacts testing
I'm doing :-(

I believe __int128 was added in gcc 4.6.

You should test for __int128, set HAVE_INT128, and make this
support conditional on the compiler feature being present
(avoid hard-coding the compiler version). I believe Ondrej
posted a patch for this?

This perhaps?
https://sourceware.org/ml/libc-alpha/2014-02/msg00607.html

The alternative is to get consensus on a newer compiler being
the minimum compiler required to build glibc (not the same thing
as the minimum compiler required to compile with glibc headers).

However, making 4.6 required is going to make me sad as RHEL 6.x
is still using 4.4, and RHEL 7.x has only just been made publicly
available.

Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]