darwin-nat: disable sstep cache.

Was not reliable after inferior call.
This commit is contained in:
Tristan Gingold 2015-07-08 12:18:32 +02:00
parent ad2073b0b4
commit aa14fb5078
2 changed files with 13 additions and 10 deletions

View File

@ -1,3 +1,9 @@
2015-11-23 Tristan Gingold <gingold@adacore.com>
* darwin-nat.c (darwin_ptrace): Avoid a cast.
(darwin_resume_thread): Ditto. And always set or reset
single step.
2015-11-23 Tristan Gingold <gingold@adacore.com>
* darwin-nat.c (darwin_read_dyld_info): Write address in

View File

@ -245,12 +245,12 @@ unparse_exception_type (unsigned int i)
static int
darwin_ptrace (const char *name,
int request, int pid, PTRACE_TYPE_ARG3 arg3, int arg4)
int request, int pid, caddr_t arg3, int arg4)
{
int ret;
errno = 0;
ret = ptrace (request, pid, (caddr_t) arg3, arg4);
ret = ptrace (request, pid, arg3, arg4);
if (ret == -1 && errno == 0)
ret = 0;
@ -728,7 +728,7 @@ darwin_resume_thread (struct inferior *inf, darwin_thread_t *thread,
{
/* Either deliver a new signal or cancel the signal received. */
res = PTRACE (PT_THUPDATE, inf->pid,
(void *)(uintptr_t)thread->gdb_port, nsignal);
(caddr_t)thread->gdb_port, nsignal);
if (res < 0)
inferior_debug (1, _("ptrace THUP: res=%d\n"), res);
}
@ -743,13 +743,10 @@ darwin_resume_thread (struct inferior *inf, darwin_thread_t *thread,
}
/* Set or reset single step. */
if (step != thread->single_step)
{
inferior_debug (4, _("darwin_set_sstep (thread=0x%x, enable=%d)\n"),
thread->gdb_port, step);
darwin_set_sstep (thread->gdb_port, step);
thread->single_step = step;
}
inferior_debug (4, _("darwin_set_sstep (thread=0x%x, enable=%d)\n"),
thread->gdb_port, step);
darwin_set_sstep (thread->gdb_port, step);
thread->single_step = step;
darwin_send_reply (inf, thread);
thread->msg_state = DARWIN_RUNNING;