* inf-ttrace.c (inf_ttrace_wait): Properly report TTEVT_EXEC
authorMark Kettenis <kettenis@gnu.org>
Thu, 21 Jul 2005 10:36:19 +0000 (10:36 +0000)
committerMark Kettenis <kettenis@gnu.org>
Thu, 21 Jul 2005 10:36:19 +0000 (10:36 +0000)
events as TARGET_WAITKIND_EXECD.
(inf_ttrace_detach): Reorder local variables.

gdb/ChangeLog
gdb/inf-ttrace.c

index d045b4515ea3bfa3967b5f9f6e71ee0ba0715a8c..355568ace8b0b910fd7044eec552b677c1b7de64 100644 (file)
@@ -1,3 +1,9 @@
+2005-07-21  Mark Kettenis  <kettenis@gnu.org>
+
+       * 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  <kettenis@gnu.org>
 
        * inf-ttrace.c (inf_ttrace_vfork_ppid): New variable.
index 8847c2c2aee7a4fdb0be38a9f1f15c290106f6a6..41393550573e638238ccca1b635bb44773508a35 100644 (file)
@@ -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:
This page took 0.028089 seconds and 4 git commands to generate.