aboutsummaryrefslogtreecommitdiff
path: root/gdb/inf-ttrace.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2005-07-21 10:36:19 +0000
committerMark Kettenis <kettenis@gnu.org>2005-07-21 10:36:19 +0000
commit5d426ff1d313c5f09f70a2c5e430b4d287ab232d (patch)
treecb7bd434a9f9ab81e59ae5b1ddfa09943ffeaa23 /gdb/inf-ttrace.c
parenta9bfff94add1508b7ffd9b4541ef9fa74e3de88d (diff)
downloadgdb-5d426ff1d313c5f09f70a2c5e430b4d287ab232d.zip
gdb-5d426ff1d313c5f09f70a2c5e430b4d287ab232d.tar.gz
gdb-5d426ff1d313c5f09f70a2c5e430b4d287ab232d.tar.bz2
* inf-ttrace.c (inf_ttrace_wait): Properly report TTEVT_EXEC
events as TARGET_WAITKIND_EXECD. (inf_ttrace_detach): Reorder local variables.
Diffstat (limited to 'gdb/inf-ttrace.c')
-rw-r--r--gdb/inf-ttrace.c13
1 files changed, 9 insertions, 4 deletions
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: