aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbserver
diff options
context:
space:
mode:
authorMichal Ludvig <mludvig@suse.cz>2002-03-27 10:21:29 +0000
committerMichal Ludvig <mludvig@suse.cz>2002-03-27 10:21:29 +0000
commitde220d0ff6d5ded0d71443c15a012a616fd7a17a (patch)
tree04053f7151b3b37a6abe9c4871a6f4a1fd8e00b4 /gdb/gdbserver
parent0e98d0a7510d45111a189ecd2baed6d15c61a11b (diff)
downloadgdb-de220d0ff6d5ded0d71443c15a012a616fd7a17a.zip
gdb-de220d0ff6d5ded0d71443c15a012a616fd7a17a.tar.gz
gdb-de220d0ff6d5ded0d71443c15a012a616fd7a17a.tar.bz2
* x86-64-tdep.h (X86_64_NUM_REGS, X86_64_NUM_GREGS): Delete #defines.
(x86_64_num_regs, x86_64_num_gregs): Added extern variables. * x86-64-linux-nat.c (x86_64_regmap): Swapped RBX <> RDX, added DS, ES, FS, GS. (x86_64_linux_dr_get_status, supply_gregset), (fill_gregset): Changed X86_64_NUM_GREGS to x86_64_num_gregs. * x86-64-tdep.c (x86_64_register_raw_size_table): Delete. (x86_64_register_info_table): Add. (X86_64_NUM_REGS, X86_64_NUM_GREGS): Add. (x86_64_register_raw_size, x86_64_register_virtual_type), (x86_64_register_name, _initialize_x86_64_tdep): Changed to reflect new general x86_64_register_info_table. (i386_gdbarch_init): gdbarch_register_bytes is now set dynamicaly during initialization. * regformats/reg-x86-64.dat: Synced with changes to registers above. * gdbserver/linux-x86-64-low.c: Ditto.
Diffstat (limited to 'gdb/gdbserver')
-rw-r--r--gdb/gdbserver/linux-x86-64-low.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/gdb/gdbserver/linux-x86-64-low.c b/gdb/gdbserver/linux-x86-64-low.c
index ffb0ce7..d69b22a 100644
--- a/gdb/gdbserver/linux-x86-64-low.c
+++ b/gdb/gdbserver/linux-x86-64-low.c
@@ -28,12 +28,15 @@
#include <sys/procfs.h>
#include <sys/ptrace.h>
-static int regmap[] = {
- RAX, RDX, RCX, RBX,
+#define X86_64_NUM_GREGS 22
+
+static int regmap[X86_64_NUM_GREGS] = {
+ RAX, RBX, RCX, RDX,
RSI, RDI, RBP, RSP,
R8, R9, R10, R11,
R12, R13, R14, R15,
- RIP, EFLAGS
+ RIP, EFLAGS,
+ DS, ES, FS, GS
};
static void
@@ -41,7 +44,7 @@ x86_64_fill_gregset (void *buf)
{
int i;
- for (i = 0; i < 18; i++)
+ for (i = 0; i < X86_64_NUM_GREGS; i++)
collect_register (i, ((char *) buf) + regmap[i]);
}
@@ -50,7 +53,7 @@ x86_64_store_gregset (void *buf)
{
int i;
- for (i = 0; i < 18; i++)
+ for (i = 0; i < X86_64_NUM_GREGS; i++)
supply_register (i, ((char *) buf) + regmap[i]);
}