From 5d426ff1d313c5f09f70a2c5e430b4d287ab232d Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Thu, 21 Jul 2005 10:36:19 +0000 Subject: * inf-ttrace.c (inf_ttrace_wait): Properly report TTEVT_EXEC events as TARGET_WAITKIND_EXECD. (inf_ttrace_detach): Reorder local variables. --- gdb/ChangeLog | 6 ++++++ gdb/inf-ttrace.c | 13 +++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) (limited to 'gdb') diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d045b45..355568a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2005-07-21 Mark Kettenis + + * inf-ttrace.c (inf_ttrace_wait): Properly report TTEVT_EXEC + events as TARGET_WAITKIND_EXECD. + (inf_ttrace_detach): Reorder local variables. + 2005-07-20 Mark Kettenis * inf-ttrace.c (inf_ttrace_vfork_ppid): New variable. diff --git a/gdb/inf-ttrace.c b/gdb/inf-ttrace.c index 8847c2c..4139355 100644 --- a/gdb/inf-ttrace.c +++ b/gdb/inf-ttrace.c @@ -758,8 +758,8 @@ inf_ttrace_attach (char *args, int from_tty) static void inf_ttrace_detach (char *args, int from_tty) { - int sig = 0; pid_t pid = ptid_get_pid (inferior_ptid); + int sig = 0; if (from_tty) { @@ -894,9 +894,14 @@ inf_ttrace_wait (ptid_t ptid, struct target_waitstatus *ourstatus) #endif case TTEVT_EXEC: - /* Make it look like a breakpoint. */ - ourstatus->kind = TARGET_WAITKIND_STOPPED; - ourstatus->value.sig = TARGET_SIGNAL_TRAP; + ourstatus->kind = TARGET_WAITKIND_EXECD; + ourstatus->value.execd_pathname = + xmalloc (tts.tts_u.tts_exec.tts_pathlen + 1); + if (ttrace (TT_PROC_GET_PATHNAME, tts.tts_pid, 0, + (uintptr_t)ourstatus->value.execd_pathname, + tts.tts_u.tts_exec.tts_pathlen, 0) == -1) + perror_with_name (("ttrace")); + ourstatus->value.execd_pathname[tts.tts_u.tts_exec.tts_pathlen] = 0; break; case TTEVT_EXIT: -- cgit v1.1