[binutils-gdb] amd64-linux-tdep: Don't treat fs_base and gs_base as system registers.

John Baldwin jhb@sourceware.org
Tue Mar 7 00:50:46 GMT 2023


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

commit 3625712636b1411d2b980217e7dd1ca8a4c8c502
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Mon Mar 6 16:47:03 2023 -0800

    amd64-linux-tdep: Don't treat fs_base and gs_base as system registers.
    
    These registers can be changed directly in userspace, and similar
    registers to support TLS on other architectures (tpidr* on ARM and
    AArch64, tp on RISC-V) are treated as general purpose registers.
    
    Reviewed-By: Tom Tromey <tom@tromey.com>

Diff:
---
 gdb/amd64-linux-tdep.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
index e9181649ec8..cbbac1a0c64 100644
--- a/gdb/amd64-linux-tdep.c
+++ b/gdb/amd64-linux-tdep.c
@@ -281,9 +281,7 @@ static int
 amd64_linux_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
 				 const struct reggroup *group)
 { 
-  if (regnum == AMD64_LINUX_ORIG_RAX_REGNUM
-      || regnum == AMD64_FSBASE_REGNUM
-      || regnum == AMD64_GSBASE_REGNUM)
+  if (regnum == AMD64_LINUX_ORIG_RAX_REGNUM)
     return (group == system_reggroup
 	    || group == save_reggroup
 	    || group == restore_reggroup);


More information about the Gdb-cvs mailing list