From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1039) id 63FAC3858D28; Thu, 21 Mar 2024 19:45:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 63FAC3858D28 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1711050315; bh=gUGgW2tNEIudrJ0fZECf/Tv2WV7DvVvScdCRqWfjvdM=; h=From:To:Subject:Date:From; b=a0vlMOtt64jE/qoMJaBERREkCJGP2bv+3CEplsBzQwTlm6VC4Xy7LXsa6EPXfaq+6 Jr/2ZUWo17zWaLu2Z1CSYKIEwI0/m69KfvWOuoT1AUUhThC/FRs0y1D2+5XbEcL35d F7e0qXQe9cuy87VFfY08ZtGVf+DuRV94ILEEsoek= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: H.J. Lu To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdbserver: Clear X86_XSTATE_MPX bits in xcr0 on x32 X-Act-Checkin: binutils-gdb X-Git-Author: H.J. Lu X-Git-Refname: refs/heads/master X-Git-Oldrev: 7e949f08700b077b78e955c653eb4e9455027101 X-Git-Newrev: 4bb20a6244b7091a9a7a2ae35dfbd7e8db27550a Message-Id: <20240321194515.63FAC3858D28@sourceware.org> Date: Thu, 21 Mar 2024 19:45:14 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D4bb20a6244b7= 091a9a7a2ae35dfbd7e8db27550a commit 4bb20a6244b7091a9a7a2ae35dfbd7e8db27550a Author: H.J. Lu Date: Wed Mar 20 04:13:18 2024 -0700 gdbserver: Clear X86_XSTATE_MPX bits in xcr0 on x32 =20 Since MPX isn't available for x32, we should clear X86_XSTATE_MPX bits on x32. =20 PR server/31511 * linux-x86-low.cc (x86_linux_read_description): Clear X86_XSTATE_MPX bits in xcr0 on x32. Reviewed-by: Felix Willgerodt Diff: --- gdbserver/linux-x86-low.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gdbserver/linux-x86-low.cc b/gdbserver/linux-x86-low.cc index 3af0a009052..933d1fb012a 100644 --- a/gdbserver/linux-x86-low.cc +++ b/gdbserver/linux-x86-low.cc @@ -938,6 +938,10 @@ x86_linux_read_description (void) xcr0 =3D xstateregs[(I386_LINUX_XSAVE_XCR0_OFFSET / sizeof (uint64_t))]; =20 + /* No MPX on x32. */ + if (machine =3D=3D EM_X86_64 && !is_elf64) + xcr0 &=3D ~X86_XSTATE_MPX; + xsave_len =3D x86_xsave_length (); =20 /* Use PTRACE_GETREGSET if it is available. */