summaryrefslogtreecommitdiff
path: root/gdb/i386-linux-nat.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2001-11-04 14:30:42 +0000
committerMark Kettenis <kettenis@gnu.org>2001-11-04 14:30:42 +0000
commitd3657df3dde621123954f44634d90815220e0a11 (patch)
tree06d72a824c7e40ab0e11b4476123856c70d0c1e6 /gdb/i386-linux-nat.c
parentc91413ca79c0da32287a293747eece4d89fb9260 (diff)
downloadgdb-d3657df3dde621123954f44634d90815220e0a11.tar.gz
* i386-linux-nat.c (GETREGS_SUPPLIES, supply_gregset,
fill_gregset): Add support for "orig_eax" register.
Diffstat (limited to 'gdb/i386-linux-nat.c')
-rw-r--r--gdb/i386-linux-nat.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
index 94d9ab393bd..a9a1fc6ae9d 100644
--- a/gdb/i386-linux-nat.c
+++ b/gdb/i386-linux-nat.c
@@ -88,7 +88,7 @@ static int regmap[] =
/* Which ptrace request retrieves which registers?
These apply to the corresponding SET requests as well. */
#define GETREGS_SUPPLIES(regno) \
- (0 <= (regno) && (regno) <= 15)
+ ((0 <= (regno) && (regno) <= 15) || (regno) == I386_LINUX_ORIG_EAX_REGNUM)
#define GETFPREGS_SUPPLIES(regno) \
(FP0_REGNUM <= (regno) && (regno) <= LAST_FPU_CTRL_REGNUM)
#define GETFPXREGS_SUPPLIES(regno) \
@@ -306,6 +306,8 @@ supply_gregset (elf_gregset_t *gregsetp)
for (i = 0; i < NUM_GREGS; i++)
supply_register (i, (char *) (regp + regmap[i]));
+
+ supply_register (I386_LINUX_ORIG_EAX_REGNUM, (char *) (regp + ORIG_EAX));
}
/* Fill register REGNO (if it is a general-purpose register) in
@@ -321,6 +323,9 @@ fill_gregset (elf_gregset_t *gregsetp, int regno)
for (i = 0; i < NUM_GREGS; i++)
if ((regno == -1 || regno == i))
*(regp + regmap[i]) = *(elf_greg_t *) &registers[REGISTER_BYTE (i)];
+
+ if (regno == -1 || regno == I386_LINUX_ORIG_EAX_REGNUM)
+ read_register_gen (I386_LINUX_ORIG_EAX_REGNUM, (char *) (regp + ORIG_EAX));
}
#ifdef HAVE_PTRACE_GETREGS