mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
2735833d5f
This patch allows examination of the registers FS_BASE and GS_BASE for Linux Systems running on 64bit. Tests for simple read and write of the new registers is also added with this patch. 2017-01-27 Walfred Tedeschi <walfred.tedeschi@intel.com> Richard Henderson <rth@redhat.com> gdb/ChangeLog: * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define. (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE GS_BASE for older kernels. (amd64_linux_store_inferior_registers): Add case to store FS_BASE GS_BASE for older kernels. * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE and GS_BASE to the offset table. (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the system register group. * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case for older kernels. * amd64-tdep.c (amd64_init_abi): Add segment registers for the amd64 ABI. * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and AMD64_GSBASE_REGNUM. (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1. * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat) (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat) (x32-avx-linux.dat, x32-avx512-linux.dat): Add i386/64bit-segments.xml in those rules. * features/i386/64bit-segments.xml: New file. * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml. * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml. * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml. * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml. * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml. * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml. * features/i386/amd64-linux.xml: Add 64bit-segments.xml. * features/i386/amd64-avx-linux.c: Regenerated. * features/i386/amd64-avx-mpx-linux.c: Regenerated. * features/i386/amd64-avx-mpx.c: Regenerated. * features/i386/amd64-avx512-linux.c: Regenerated. * features/i386/amd64-linux.c: Regenerated. * features/i386/amd64-mpx-linux.c: Regenerated. * features/i386/i386-avx-mpx-linux.c: Regenerated. * features/i386/i386-avx-mpx.c: Regenerated. * features/i386/x32-avx-linux.c: Regenerated. * features/i386/x32-avx512-linux.c: Regenerated. * regformats/i386/amd64-avx-linux.dat: Regenerated. * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated. * regformats/i386/amd64-avx512-linux.dat: Regenerated. * regformats/i386/amd64-linux.dat: Regenerated. * regformats/i386/amd64-mpx-linux.dat: Regenerated. * regformats/i386/x32-avx-linux.dat: Regenerated. * regformats/i386/x32-avx512-linux.dat: Regenerated. * regformats/i386/x32-linux.dat: Regenerated. gdb/doc/ChangeLog: * gdb.texinfo (i386 Features): Add system segment registers as feature. gdb/gdbserver/ChangeLog: * linux-x86-low.c (x86_64_regmap): Add fs_base and gs_base to the register table. (x86_fill_gregset): Add support for old kernels for the fs_base and gs_base system registers. (x86_store_gregset): Likewise. * configure.srv (srv_i386_64bit_xmlfiles): Add 64bit-segments.xml. gdb/testsuite/ChangeLog: * gdb.arch/amd64-gs_base.c: New file. * gdb.arch/amd64-gs_base.exp: New file. Change-Id: I2e0eeb93058a2320d4d3b045082643cfe4aff963 Signed-off-by: Walfred Tedeschi <walfred.tedeschi@intel.com> |
||
---|---|---|
.. | ||
arm | ||
i386 | ||
rs6000 | ||
aarch64-core.xml | ||
aarch64-fpu.xml | ||
aarch64.c | ||
aarch64.xml | ||
arc-arcompact.c | ||
arc-arcompact.xml | ||
arc-v2.c | ||
arc-v2.xml | ||
btrace-conf.dtd | ||
btrace.dtd | ||
feature_to_c.sh | ||
gdb-target.dtd | ||
gdbserver-regs.xsl | ||
library-list-aix.dtd | ||
library-list-svr4.dtd | ||
library-list.dtd | ||
m68k-core.xml | ||
Makefile | ||
microblaze-core.xml | ||
microblaze-stack-protect.xml | ||
microblaze-with-stack-protect.c | ||
microblaze-with-stack-protect.xml | ||
microblaze.c | ||
microblaze.xml | ||
mips64-cp0.xml | ||
mips64-cpu.xml | ||
mips64-dsp-linux.c | ||
mips64-dsp-linux.xml | ||
mips64-dsp.xml | ||
mips64-fpu.xml | ||
mips64-linux.c | ||
mips64-linux.xml | ||
mips-cp0.xml | ||
mips-cpu.xml | ||
mips-dsp-linux.c | ||
mips-dsp-linux.xml | ||
mips-dsp.xml | ||
mips-fpu.xml | ||
mips-linux.c | ||
mips-linux.xml | ||
nds32-core.xml | ||
nds32-fpu.xml | ||
nds32-system.xml | ||
nds32.c | ||
nds32.xml | ||
nios2-cpu.xml | ||
nios2-linux.c | ||
nios2-linux.xml | ||
nios2.c | ||
nios2.xml | ||
number-regs.xsl | ||
osdata.dtd | ||
s390-acr.xml | ||
s390-core32.xml | ||
s390-core64.xml | ||
s390-fpr.xml | ||
s390-linux32.c | ||
s390-linux32.xml | ||
s390-linux32v1.c | ||
s390-linux32v1.xml | ||
s390-linux32v2.c | ||
s390-linux32v2.xml | ||
s390-linux64.c | ||
s390-linux64.xml | ||
s390-linux64v1.c | ||
s390-linux64v1.xml | ||
s390-linux64v2.c | ||
s390-linux64v2.xml | ||
s390-tdb.xml | ||
s390-te-linux64.c | ||
s390-te-linux64.xml | ||
s390-tevx-linux64.c | ||
s390-tevx-linux64.xml | ||
s390-vx-linux64.c | ||
s390-vx-linux64.xml | ||
s390-vx.xml | ||
s390x-core64.xml | ||
s390x-linux64.c | ||
s390x-linux64.xml | ||
s390x-linux64v1.c | ||
s390x-linux64v1.xml | ||
s390x-linux64v2.c | ||
s390x-linux64v2.xml | ||
s390x-te-linux64.c | ||
s390x-te-linux64.xml | ||
s390x-tevx-linux64.c | ||
s390x-tevx-linux64.xml | ||
s390x-vx-linux64.c | ||
s390x-vx-linux64.xml | ||
sort-regs.xsl | ||
threads.dtd | ||
tic6x-c6xp.xml | ||
tic6x-c62x-linux.c | ||
tic6x-c62x-linux.xml | ||
tic6x-c62x.c | ||
tic6x-c62x.xml | ||
tic6x-c64x-linux.c | ||
tic6x-c64x-linux.xml | ||
tic6x-c64x.c | ||
tic6x-c64x.xml | ||
tic6x-c64xp-linux.c | ||
tic6x-c64xp-linux.xml | ||
tic6x-c64xp.c | ||
tic6x-c64xp.xml | ||
tic6x-core.xml | ||
tic6x-gp.xml | ||
traceframe-info.dtd | ||
xinclude.dtd |