]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
x86: support fs_base and gs_base for 32-bit inferiors on 64-bit kernels
authorMarkus Metzger <markus.t.metzger@intel.com>
Fri, 22 Nov 2019 15:55:14 +0000 (16:55 +0100)
committerMarkus Metzger <markus.t.metzger@intel.com>
Tue, 17 Dec 2019 14:37:30 +0000 (15:37 +0100)
commit3e7fa952aa12f56bafe02e0dab47eb9c690e9f47
treeb997a9a637a43cc57523f8165fa80d840698539f
parent9db9f4a7a1d66ab0180cc53c9daa3409021f1fa3
x86: support fs_base and gs_base for 32-bit inferiors on 64-bit kernels

On Linux 64-bit kernels provide fs_base and gs_base also for 32-bit
inferiors.  Add support for those registers.

Also check for HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE consistently.

Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
gdb/
* amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add FS_BASE
and GS_BASE offsets.
* amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Check
HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE.
(amd64_linux_read_description): Enable segments if
HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE.
* i386-linux-tdep.c (i386_linux_gregset_reg_offset): Add -1 for
FS_BASE and GS_BASE offsets.
(i386_linux_read_description): Enable segments if
HAVE_STRUCT_USER_REGS_STRUCT_FS_BASE.
* i386-linux-tdep.h (I386_LINUX_ORIG_EAX_REGNUM): Update.

Change-Id: I030b500a7a5b087452a78c3e0545d6e6e65146aa
gdb/amd64-linux-nat.c
gdb/amd64-linux-tdep.c
gdb/i386-linux-tdep.c
gdb/i386-linux-tdep.h