diff options
author | Michal Ludvig <mludvig@suse.cz> | 2002-03-27 10:21:29 +0000 |
---|---|---|
committer | Michal Ludvig <mludvig@suse.cz> | 2002-03-27 10:21:29 +0000 |
commit | de220d0ff6d5ded0d71443c15a012a616fd7a17a (patch) | |
tree | 04053f7151b3b37a6abe9c4871a6f4a1fd8e00b4 /gdb/gdbserver | |
parent | 0e98d0a7510d45111a189ecd2baed6d15c61a11b (diff) | |
download | gdb-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.c | 13 |
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]); } |