From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12456 invoked by alias); 26 Jan 2017 14:07:01 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 12435 invoked by uid 89); 26 Jan 2017 14:07:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.9 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:sk:fmsmga1, H*r:ip*10.7.209.18, D*nl, D*xs4all.nl X-HELO: mga01.intel.com Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 26 Jan 2017 14:06:49 +0000 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP; 26 Jan 2017 06:06:28 -0800 X-ExtLoop1: 1 Received: from msturm-mobl2.ger.corp.intel.com (HELO [172.28.205.47]) ([172.28.205.47]) by orsmga001.jf.intel.com with ESMTP; 26 Jan 2017 06:06:26 -0800 Subject: [PING][PATCH v3 0/5] Add support for PKRU register to GDB and GDBServer. To: Pedro Alves References: <1481021894-29471-1-git-send-email-michael.sturm@intel.com> Cc: gdb-patches@sourceware.org From: "Sturm, Michael" Message-ID: <588A0261.3060608@intel.com> Date: Thu, 26 Jan 2017 14:07:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252"; format="flowed" Content-Transfer-Encoding: quoted-printable X-SW-Source: 2017-01/txt/msg00569.txt.bz2 Hello Pedro, everybody, friendly reminder - is this series OK to be pushed? Thanks and Regards, Michael https://sourceware.org/ml/gdb-patches/2016-12/msg00151.html https://sourceware.org/ml/gdb-patches/2016-12/msg00152.html https://sourceware.org/ml/gdb-patches/2016-12/msg00153.html https://sourceware.org/ml/gdb-patches/2016-12/msg00154.html https://sourceware.org/ml/gdb-patches/2016-12/msg00156.html https://sourceware.org/ml/gdb-patches/2016-12/msg00155.html On 26/01/2017 14:51, Sturm, Michael wrote: > > -----Original Message----- > From: Sturm, Michael > Sent: Tuesday, December 06, 2016 11:58 AM > To: mark.kettenis@xs4all.nl; palves@redhat.com; eliz@gnu.org > Cc: gdb-patches@sourceware.org; Sturm, Michael > Subject: [PATCH v3 0/5] Add support for PKRU register to GDB and GDBServe= r. > > This patch series adds support for the registers added by the Memory Prot= ection Keys for Userspace (PKU aka PKEYs). > Native and remote debugging are covered by this patch. > > The feedback I got during the first review of this patch raised questions= regarding the naming of XSTATE masks and target descriptors. > in addition, Walfred started working on patches that included renaming of= XSTATE masks and target descriptors. These patches have been submitted by = now. > (https://sourceware.org/ml/gdb-patches/2016-04/msg00329.html) > (https://sourceware.org/ml/gdb-patches/2016-04/msg00328.html) > > Adressed in V3: > * [PATCH v2 1/5] Sync up x86-gcc-cpuid.h with cpuid.h from gcc-6 branch > Added copyright blurb that got lost by accident. > * PATCH v2 2/5] Change xstate_bv handling to use 8 bytes of data > Shortened description of changes in Changelog. > * [PATCH v2 5/5] Add support for Intel PKRU register to GDB and GDBserver > Corrected spurious change in NEWS and some missing spaces in comments. > Removed some code in the test and improved the output as pointed out b= y Luis.. >=20=20=20=20 > Adressed in V2: > * [Patch v2 1/5] New patch to sync cpuid bits with GCC as suggested by > Pedro. > * [PATCH v2 2/5] Change xstate_bv handling to use 8 bytes of data: > Read/write xstate_bc values using endianess-aware functions. > * [PATCH v2 3/5] Rename target descriptions to reflect actual content: > Addressed comments by Pedro regarding wording in Changelog. > * [PATCH v2 4/5] Add target description for avx-avx512: > Addressed comments by Pedro regarding Changelog. > Fixed wording of comments regarding MPX on x32. > Removed MPX from comment in x32*.xml files. > * [PATCH v2 5/5] Add support for Intel PKRU register to GDB and GDBserver: > Adressed comments by Pedro regarding Changelog. > Added missing renames in GDBserver ipa-related files. > Changed test for PKU following comments by Pedro. >=20=20=20=20 >=20=20=20=20 > I'd like to answer Pedro's question regarding the approach of > adding PKRU to amd64-avx-mpx_avx512-* tdesc and renaming _without_ > keeping a copy without PKU: > Q: "Is that really the right thing to do? What about machines that > _don't_ support pkru? Shouldn't we keep the older descriptions > for those? > A: The first machine to support PKU will have the xstate mask > X86_XSTATE_AVX_MPX_AVX512_PKU_MASK. > The nearest existing xstate masks without PKU are > X86_XSTATE_AVX_AVX512_MASK, which was introduced in patch 4 of > this series, and X86_XSTATE_AVX_MPX_MASK. > I've only kept X86_XSTATE_AVX_MPX_AVX512_MASK in patch 4, > because it is reused in patch 5 to be renamed to > X86_XSTATE_AVX_MPX_AVX512_PKU_MASK. > > Michael Sturm (5): > Sync up x86-gcc-cpuid.h with cpuid.h from gcc-6 branch. > Change xstate_bv handling to use 8 bytes of data. > Rename target descriptions to reflect actual content of description. > Add target description for avx-avx512. > Add support for Intel PKRU register to GDB and GDBserver. > > gdb/NEWS | 4 + > gdb/amd64-linux-nat.c | 1 + > gdb/amd64-linux-tdep.c | 30 ++- > gdb/amd64-linux-tdep.h | 7 +- > gdb/amd64-tdep.c | 28 +- > gdb/amd64-tdep.h | 5 +- > gdb/common/x86-xstate.h | 21 +- > gdb/doc/gdb.texinfo | 4 + > gdb/features/Makefile | 96 +++++-- > gdb/features/i386/32bit-pkeys.xml | 13 + > gdb/features/i386/64bit-pkeys.xml | 13 + > gdb/features/i386/amd64-avx-avx512-linux.c | 284 ++++++++++++++= +++++++ > ...avx512-linux.xml =3D> amd64-avx-avx512-linux.xml} | 3 +- > gdb/features/i386/amd64-avx-avx512.c | 279 ++++++++++++++= ++++++ > .../{amd64-avx512.xml =3D> amd64-avx-avx512.xml} | 3 +- > ...12-linux.c =3D> amd64-avx-mpx-avx512-pku-linux.c} | 11 +- > .../i386/amd64-avx-mpx-avx512-pku-linux.xml | 22 ++ > .../{amd64-avx512.c =3D> amd64-avx-mpx-avx512-pku.c} | 11 +- > gdb/features/i386/amd64-avx-mpx-avx512-pku.xml | 19 ++ > gdb/features/i386/i386-avx-avx512-linux.c | 170 ++++++++++++ > ...-avx512-linux.xml =3D> i386-avx-avx512-linux.xml} | 3 +- > gdb/features/i386/i386-avx-avx512.c | 165 ++++++++++++ > .../i386/{i386-avx512.xml =3D> i386-avx-avx512.xml} | 3 +- > ...512-linux.c =3D> i386-avx-mpx-avx512-pku-linux.c} | 11 +- > .../i386/i386-avx-mpx-avx512-pku-linux.xml | 22 ++ > .../{i386-avx512.c =3D> i386-avx-mpx-avx512-pku.c} | 11 +- > gdb/features/i386/i386-avx-mpx-avx512-pku.xml | 19 ++ > .../{x32-avx512-linux.c =3D> x32-avx-avx512-linux.c} | 192 ++++++------= -- > ...2-avx512-linux.xml =3D> x32-avx-avx512-linux.xml} | 3 +- > .../i386/{x32-avx512.c =3D> x32-avx-avx512.c} | 190 ++++++------= -- > .../i386/{x32-avx512.xml =3D> x32-avx-avx512.xml} | 3 +- > gdb/gdbserver/Makefile.in | 50 ++-- > gdb/gdbserver/configure.srv | 25 +- > gdb/gdbserver/i387-fp.c | 51 +++- > gdb/gdbserver/linux-amd64-ipa.c | 15 +- > gdb/gdbserver/linux-i386-ipa.c | 10 +- > gdb/gdbserver/linux-x86-low.c | 45 +++- > gdb/gdbserver/linux-x86-tdesc.h | 29 ++- > gdb/i386-linux-nat.c | 2 +- > gdb/i386-linux-tdep.c | 14 +- > gdb/i386-linux-tdep.h | 6 +- > gdb/i386-tdep.c | 76 +++++- > gdb/i386-tdep.h | 14 +- > gdb/i387-tdep.c | 116 ++++++++- > gdb/i387-tdep.h | 5 + > gdb/nat/x86-gcc-cpuid.h | 108 ++++---- > .../{x32-avx512.dat =3D> amd64-avx-avx512-linux.dat} | 13 +- > .../{amd64-avx512.dat =3D> amd64-avx-avx512.dat} | 12 +- > ...inux.dat =3D> amd64-avx-mpx-avx512-pku-linux.dat} | 6 +- > ...x512-linux.dat =3D> amd64-avx-mpx-avx512-pku.dat} | 8 +- > gdb/regformats/i386/i386-avx-avx512-linux.dat | 71 ++++++ > gdb/regformats/i386/i386-avx-avx512.dat | 70 +++++ > ...vx512.dat =3D> i386-avx-mpx-avx512-pku-linux.dat} | 8 +- > ...vx512-linux.dat =3D> i386-avx-mpx-avx512-pku.dat} | 8 +- > gdb/regformats/i386/x32-avx-avx512-linux.dat | 151 +++++++++++ > gdb/regformats/i386/x32-avx-avx512.dat | 150 +++++++++++ > gdb/testsuite/gdb.arch/i386-pkru.c | 92 +++++++ > gdb/testsuite/gdb.arch/i386-pkru.exp | 71 ++++++ > gdb/x86-linux-nat.c | 20 +- > 59 files changed, 2382 insertions(+), 510 deletions(-) create mode 100= 644 gdb/features/i386/32bit-pkeys.xml create mode 100644 gdb/features/i386= /64bit-pkeys.xml create mode 100644 gdb/features/i386/amd64-avx-avx512-lin= ux.c > rename gdb/features/i386/{amd64-avx512-linux.xml =3D> amd64-avx-avx512-= linux.xml} (84%) create mode 100644 gdb/features/i386/amd64-avx-avx512.c > rename gdb/features/i386/{amd64-avx512.xml =3D> amd64-avx-avx512.xml} (= 89%) rename gdb/features/i386/{amd64-avx512-linux.c =3D> amd64-avx-mpx-avx= 512-pku-linux.c} (97%) create mode 100644 gdb/features/i386/amd64-avx-mpx-= avx512-pku-linux.xml > rename gdb/features/i386/{amd64-avx512.c =3D> amd64-avx-mpx-avx512-pku.= c} (98%) create mode 100644 gdb/features/i386/amd64-avx-mpx-avx512-pku.xml > create mode 100644 gdb/features/i386/i386-avx-avx512-linux.c > rename gdb/features/i386/{i386-avx512-linux.xml =3D> i386-avx-avx512-li= nux.xml} (84%) create mode 100644 gdb/features/i386/i386-avx-avx512.c > rename gdb/features/i386/{i386-avx512.xml =3D> i386-avx-avx512.xml} (89= %) rename gdb/features/i386/{i386-avx512-linux.c =3D> i386-avx-mpx-avx512-= pku-linux.c} (96%) create mode 100644 gdb/features/i386/i386-avx-mpx-avx51= 2-pku-linux.xml > rename gdb/features/i386/{i386-avx512.c =3D> i386-avx-mpx-avx512-pku.c}= (96%) create mode 100644 gdb/features/i386/i386-avx-mpx-avx512-pku.xml > rename gdb/features/i386/{x32-avx512-linux.c =3D> x32-avx-avx512-linux.= c} (61%) rename gdb/features/i386/{x32-avx512-linux.xml =3D> x32-avx-avx51= 2-linux.xml} (85%) rename gdb/features/i386/{x32-avx512.c =3D> x32-avx-avx= 512.c} (60%) rename gdb/features/i386/{x32-avx512.xml =3D> x32-avx-avx512.= xml} (89%) rename gdb/regformats/i386/{x32-avx512.dat =3D> amd64-avx-avx51= 2-linux.dat} (90%) rename gdb/regformats/i386/{amd64-avx512.dat =3D> amd64= -avx-avx512.dat} (90%) rename gdb/regformats/i386/{x32-avx512-linux.dat = =3D> amd64-avx-mpx-avx512-pku-linux.dat} (91%) rename gdb/regformats/i386/= {amd64-avx512-linux.dat =3D> amd64-avx-mpx-avx512-pku.dat} (92%) create mo= de 100644 gdb/regformats/i386/i386-avx-avx512-linux.dat > create mode 100644 gdb/regformats/i386/i386-avx-avx512.dat > rename gdb/regformats/i386/{i386-avx512.dat =3D> i386-avx-mpx-avx512-pk= u-linux.dat} (81%) rename gdb/regformats/i386/{i386-avx512-linux.dat =3D> = i386-avx-mpx-avx512-pku.dat} (84%) create mode 100644 gdb/regformats/i386/= x32-avx-avx512-linux.dat > create mode 100644 gdb/regformats/i386/x32-avx-avx512.dat > create mode 100644 gdb/testsuite/gdb.arch/i386-pkru.c > create mode 100644 gdb/testsuite/gdb.arch/i386-pkru.exp > > -- > 1.8.4.2 > Intel Deutschland GmbH Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Christian Lamprechter Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928