#include "gdb_proc_service.h"
-/* Defined in auto-generated file reg-i386-linux.c. */
+/* Defined in auto-generated file i386-linux.c. */
void init_registers_i386_linux (void);
-/* Defined in auto-generated file reg-x86-64-linux.c. */
-void init_registers_x86_64_linux (void);
+/* Defined in auto-generated file amd64-linux.c. */
+void init_registers_amd64_linux (void);
#include <sys/reg.h>
#include <sys/procfs.h>
{
unsigned char c;
- read_inferior_memory (pc, &c, 1);
+ (*the_target->read_memory) (pc, &c, 1);
if (c == 0xCC)
return 1;
struct process_info *proc = current_process ();
switch (type)
{
+ case '0':
+ return set_gdb_breakpoint_at (addr);
case '2':
case '3':
case '4':
struct process_info *proc = current_process ();
switch (type)
{
+ case '0':
+ return delete_gdb_breakpoint_at (addr);
case '2':
case '3':
case '4':
static void
x86_linux_prepare_to_resume (struct lwp_info *lwp)
{
+ ptid_t ptid = ptid_of (lwp);
+
if (lwp->arch_private->debug_registers_changed)
{
int i;
- ptid_t ptid = ptid_of (lwp);
int pid = ptid_get_pid (ptid);
struct process_info *proc = find_process_pid (pid);
struct i386_debug_reg_state *state = &proc->private->arch_private->debug_reg_state;
lwp->arch_private->debug_registers_changed = 0;
}
+
+ if (lwp->stopped_by_watchpoint)
+ x86_linux_dr_set (ptid, DR_STATUS, 0);
}
\f
/* When GDBSERVER is built as a 64-bit application on linux, the
}
else if (use_64bit)
{
- init_registers_x86_64_linux ();
+ init_registers_amd64_linux ();
/* Amd64 doesn't have HAVE_LINUX_USRREGS. */
the_low_target.num_regs = -1;