daily update
[deliverable/binutils-gdb.git] / gdb / infttrace.c
index 3c7cf95d806ed6327cb9f776c85a154178813967..a920ead03c8cd6fadeb9c295fad4744320b8e472 100644 (file)
@@ -2596,7 +2596,7 @@ count_unhandled_events (int real_pid, lwpid_t real_tid)
  *
  * Note: used by core gdb and so uses the pseudo-pid (really tid).
  */
-ptid_t
+int
 ptrace_wait (ptid_t ptid, int *status)
 {
   ttstate_t tsp;
@@ -2621,13 +2621,13 @@ ptrace_wait (ptid_t ptid, int *status)
       if (errno == ESRCH)
        {
          *status = 0;          /* WIFEXITED */
-         return inferior_ptid;
+         return PIDGET (inferior_ptid);
        }
 
       warning ("Call of ttrace_wait returned with errno %d.",
               errno);
       *status = ttwait_return;
-      return inferior_ptid;
+      return PIDGET (inferior_ptid);
     }
 
   real_pid = tsp.tts_pid;
@@ -2888,7 +2888,7 @@ ptrace_wait (ptid_t ptid, int *status)
       *status = _SIGTRAP;
     }
 
-  target_post_wait (tsp.tts_pid, *status);
+  target_post_wait (pid_to_ptid (tsp.tts_pid), *status);
 
 
 #ifdef THREAD_DEBUG
@@ -2914,7 +2914,7 @@ ptrace_wait (ptid_t ptid, int *status)
       warning ("Internal error: process-wait failed.");
     }
 
-  return pid_to_ptid (return_pid);
+  return return_pid;
 }
 \f
 
@@ -3853,27 +3853,18 @@ kill_inferior (void)
 
       if (t->am_pseudo && (t->pid != PIDGET (inferior_ptid)))
        {
-         /* TT_PROC_STOP doesn't require a subsequent ttrace_wait, as it
-          * generates no event.
-          */
-         call_ttrace (TT_PROC_STOP,
+         call_ttrace (TT_PROC_EXIT,
                       t->pid,
                       TT_NIL,
                       TT_NIL,
                       TT_NIL);
-
-         call_ttrace (TT_PROC_DETACH,
-                      t->pid,
-                      TT_NIL,
-                      (TTRACE_ARG_TYPE) TARGET_SIGNAL_0,
-                      TT_NIL);
        }
       t = t->next;
     }
 
   xfree (paranoia);
 
-  call_ttrace (TT_PROC_STOP,
+  call_ttrace (TT_PROC_EXIT,
               PIDGET (inferior_ptid),
               TT_NIL,
               TT_NIL,
@@ -4925,7 +4916,7 @@ child_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
 {
   register int i;
   /* Round starting address down to longword boundary.  */
-  register CORE_ADDR addr = memaddr & -sizeof (TTRACE_XFER_TYPE);
+  register CORE_ADDR addr = memaddr & -(CORE_ADDR) sizeof (TTRACE_XFER_TYPE);
   /* Round ending address up; get number of longwords that makes.  */
   register int count
   = (((memaddr + len) - addr) + sizeof (TTRACE_XFER_TYPE) - 1)
This page took 0.024749 seconds and 4 git commands to generate.