Set debug registers on all threads belonging to the current inferior.
gdb/ChangeLog: * x86bsd-nat.c: Include 'gdbthread.h'. (x86bsd_dr_set): Set debug registers on all threads belonging to the current inferior.
This commit is contained in:
parent
a3405d124e
commit
5077bfff90
@ -1,3 +1,9 @@
|
||||
2016-07-01 John Baldwin <jhb@FreeBSD.org>
|
||||
|
||||
* x86bsd-nat.c: Include 'gdbthread.h'.
|
||||
(x86bsd_dr_set): Set debug registers on all threads belonging to
|
||||
the current inferior.
|
||||
|
||||
2016-07-01 John Baldwin <jhb@FreeBSD.org>
|
||||
|
||||
* Makefile.in [HFILES_NO_SRCDIR]: Replace 'amd64bsd-nat.h' with
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "defs.h"
|
||||
#include "inferior.h"
|
||||
#include "gdbthread.h"
|
||||
|
||||
/* We include <signal.h> to make sure `struct fxsave64' is defined on
|
||||
NetBSD, since NetBSD's <machine/reg.h> needs it. */
|
||||
@ -71,6 +72,7 @@ x86bsd_dr_get (ptid_t ptid, int regnum)
|
||||
static void
|
||||
x86bsd_dr_set (int regnum, unsigned long value)
|
||||
{
|
||||
struct thread_info *thread;
|
||||
struct dbreg dbregs;
|
||||
|
||||
if (ptrace (PT_GETDBREGS, get_ptrace_pid (inferior_ptid),
|
||||
@ -84,9 +86,13 @@ x86bsd_dr_set (int regnum, unsigned long value)
|
||||
|
||||
DBREG_DRX ((&dbregs), regnum) = value;
|
||||
|
||||
if (ptrace (PT_SETDBREGS, get_ptrace_pid (inferior_ptid),
|
||||
(PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
|
||||
perror_with_name (_("Couldn't write debug registers"));
|
||||
ALL_NON_EXITED_THREADS (thread)
|
||||
if (thread->inf == current_inferior ())
|
||||
{
|
||||
if (ptrace (PT_SETDBREGS, get_ptrace_pid (thread->ptid),
|
||||
(PTRACE_TYPE_ARG3) &dbregs, 0) == -1)
|
||||
perror_with_name (_("Couldn't write debug registers"));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user