This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/N, MPX, x86_64] Intel MPX support in glibc for x86_64
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: "Zamyatin, Igor" <igor dot zamyatin at intel dot com>, "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>
- Cc: "hjl dot tools at gmail dot com" <hjl dot tools at gmail dot com>, OndÅej BÃlka <neleai at seznam dot cz>
- Date: Fri, 25 Apr 2014 02:07:32 -0400
- Subject: Re: [PATCH 2/N, MPX, x86_64] Intel MPX support in glibc for x86_64
- Authentication-results: sourceware.org; auth=none
- References: <0EFAB2BDD0F67E4FB6CCC8B9F87D756942973E8E at IRSMSX101 dot ger dot corp dot intel dot com>
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.