This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA/RFC] Replace call_ptrace and ptrace_wait in inf-ptrace.c


This is another step in the direction of eliminating the need for both
inf-ptrace.c and infptrace.c.  It eliminates the calls to call_ptrace
and ptrace_wait.

Andrew has recently suggested that we'd want debugging support for the
ptrace(2) interface, which could be implemented by using call_ptrace()
unconditionally.  That, however, is a bad idea, since this makes it
impossible for the compiler to properly typecheck the arguments to
ptrace().  Hence the removal of call_ptrace() usage.

In inf_ptrace_kill_inferior, I just replaced ptrace_wait() with
wait().  Calling target_post_wait here seems inappropriate.

If nobody objetcs, I'll check this in later this week.

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>

	* inf-ptrace.c (inf_ptrace_kill_inferior): Call ptrace directly
	instead of call_ptrace.  Call wait directly instead of
	ptrace_wait.
	(inf_ptrace_me): Call ptrace directly instead of call_ptrace.
	(inf_ptrace_wait): Inline ptrace_wait call.

Index: inf-ptrace.c
===================================================================
RCS file: /cvs/src/src/gdb/inf-ptrace.c,v
retrieving revision 1.2
diff -u -p -r1.2 inf-ptrace.c
--- inf-ptrace.c 16 Sep 2004 19:54:18 -0000 1.2
+++ inf-ptrace.c 20 Sep 2004 18:58:17 -0000
@@ -55,8 +55,8 @@ inf_ptrace_kill_inferior (void)
 
      The kill call causes problems under hpux10, so it's been removed;
      if this causes problems we'll deal with them as they arise.  */
-  call_ptrace (PT_KILL, pid, (PTRACE_TYPE_ARG3) 0, 0);
-  ptrace_wait (null_ptid, &status);
+  ptrace (PT_KILL, pid, (PTRACE_TYPE_ARG3) 0, 0);
+  wait (&status);
   target_mourn_inferior ();
 }
 
@@ -255,7 +255,8 @@ inf_ptrace_wait (ptid_t ptid, struct tar
 				   attached process. */
       set_sigio_trap ();
 
-      pid = ptrace_wait (inferior_ptid, &status);
+      pid = wait (&status);
+      target_post_wait (pid_to_ptid (pid), status);
 
       save_errno = errno;
 
@@ -433,7 +434,7 @@ static void
 inf_ptrace_me (void)
 {
   /* "Trace me, Dr. Memory!" */
-  call_ptrace (0, 0, (PTRACE_TYPE_ARG3) 0, 0);
+  ptrace (0, 0, (PTRACE_TYPE_ARG3) 0, 0);
 }
 
 /* Stub function which causes the GDB that runs it, to start ptrace-ing


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]