+2001-04-01 Mark Kettenis <kettenis@gnu.org>
+
+ * i386-linux-nat.c (i386_linux_dr_get): Change type of return
+ value to `unsigned long'. Change type of `value' to `unsigned
+ long'.
+ (i386_linux_dr_set): Change type of second argument to `unsigned
+ long'.
+ (i386_linux_dr_set_control): Change type of first argument to
+ `unsigned long'.
+ (i386_linux_dr_get_status): Change type of return value to
+ unsigned long.
+ * config/i386/nm-linux.h (i386_linux_dr_set_control,
+ i386_linux_dr_get_status): Adjust prototypes accordingly.
+
2001-03-31 Kevin Buettner <kevinb@redhat.com>
* ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Change
/* Provide access to the i386 hardware debugging registers. */
-extern void i386_linux_dr_set_control (long control);
+extern void i386_linux_dr_set_control (unsigned long control);
#define I386_DR_LOW_SET_CONTROL(control) \
i386_linux_dr_set_control (control)
#define I386_DR_LOW_RESET_ADDR(regnum) \
i386_linux_dr_reset_addr (regnum)
-extern long i386_linux_dr_get_status (void);
+extern unsigned long i386_linux_dr_get_status (void);
#define I386_DR_LOW_GET_STATUS() \
i386_linux_dr_get_status ()
}
\f
-static long
+static unsigned long
i386_linux_dr_get (int regnum)
{
int tid;
- long value;
+ unsigned long value;
/* FIXME: kettenis/2001-01-29: It's not clear what we should do with
multi-threaded processes here. For now, pretend there is just
}
static void
-i386_linux_dr_set (int regnum, long value)
+i386_linux_dr_set (int regnum, unsigned long value)
{
int tid;
}
void
-i386_linux_dr_set_control (long control)
+i386_linux_dr_set_control (unsigned long control)
{
i386_linux_dr_set (DR_CONTROL, control);
}
i386_linux_dr_set (DR_FIRSTADDR + regnum, 0L);
}
-long
+unsigned long
i386_linux_dr_get_status (void)
{
return i386_linux_dr_get (DR_STATUS);
CORE_ADDR sp = read_register (SP_REGNUM);
CORE_ADDR addr = sp;
unsigned long int eflags;
-
+
if (syscall == SYS_rt_sigreturn)
addr = read_memory_integer (sp + 8, 4) + 20;