public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] gdbserver: Clear X86_XSTATE_MPX bits in xcr0 on x32
@ 2024-03-21 19:45 H.J. Lu
  0 siblings, 0 replies; only message in thread
From: H.J. Lu @ 2024-03-21 19:45 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4bb20a6244b7091a9a7a2ae35dfbd7e8db27550a

commit 4bb20a6244b7091a9a7a2ae35dfbd7e8db27550a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Mar 20 04:13:18 2024 -0700

    gdbserver: Clear X86_XSTATE_MPX bits in xcr0 on x32
    
    Since MPX isn't available for x32, we should clear X86_XSTATE_MPX bits
    on x32.
    
            PR server/31511
            * linux-x86-low.cc (x86_linux_read_description): Clear
            X86_XSTATE_MPX bits in xcr0 on x32.
    Reviewed-by: Felix Willgerodt <felix.willgerodt@intel.com>

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 = xstateregs[(I386_LINUX_XSAVE_XCR0_OFFSET
 			     / sizeof (uint64_t))];
 
+	  /* No MPX on x32.  */
+	  if (machine == EM_X86_64 && !is_elf64)
+	    xcr0 &= ~X86_XSTATE_MPX;
+
 	  xsave_len = x86_xsave_length ();
 
 	  /* Use PTRACE_GETREGSET if it is available.  */

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-03-21 19:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-21 19:45 [binutils-gdb] gdbserver: Clear X86_XSTATE_MPX bits in xcr0 on x32 H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).