This is the mail archive of the gdb-cvs@sourceware.org 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]

[binutils-gdb] Linux gdbserver fork event debug output


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ad071a3055b9b47dad340c1a1cb3a9b39529cef0

commit ad071a3055b9b47dad340c1a1cb3a9b39529cef0
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Aug 6 10:30:16 2015 +0100

    Linux gdbserver fork event debug output
    
    The "extended event with waitstatus" debug output is unreachable, as
    it is guarded by "if (!report_to_gdb)".  If extended_event_reported is
    true, then so is report_to_gdb.  Move it to where we print why we're
    reporting an event to GDB.
    
    Also, the debug output currently tries to print the wrong struct
    target_waitstatus.
    
    gdb/gdbserver/ChangeLog:
    2015-08-06  Pedro Alves  <palves@redhat.com>
    
    	* linux-low.c (linux_wait_1): Move fork event output out of the
    	!report_to_gdb check.  Pass event_child->waitstatus to
    	target_waitstatus_to_string instead of ourstatus.

Diff:
---
 gdb/gdbserver/ChangeLog   |  6 ++++++
 gdb/gdbserver/linux-low.c | 16 +++++++++-------
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 43cae40..eb1101c 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,9 @@
+2015-08-06  Pedro Alves  <palves@redhat.com>
+
+	* linux-low.c (linux_wait_1): Move fork event output out of the
+	!report_to_gdb check.  Pass event_child->waitstatus to
+	target_waitstatus_to_string instead of ourstatus.
+
 2015-08-04  Yao Qi  <yao.qi@linaro.org>
 
 	* linux-aarch64-low.c (aarch64_supports_tracepoints): Return 0
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index f1e1d72..76b212d 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -3153,13 +3153,6 @@ linux_wait_1 (ptid_t ptid,
 			  paddress (event_child->stop_pc),
 			  paddress (event_child->step_range_start),
 			  paddress (event_child->step_range_end));
-	  if (extended_event_reported (&event_child->waitstatus))
-	    {
-	      char *str = target_waitstatus_to_string (ourstatus);
-	      debug_printf ("LWP %ld: extended event with waitstatus %s\n",
-			    lwpid_of (get_lwp_thread (event_child)), str);
-	      xfree (str);
-	    }
 	}
 
       /* We're not reporting this breakpoint to GDB, so apply the
@@ -3190,6 +3183,15 @@ linux_wait_1 (ptid_t ptid,
 
   if (debug_threads)
     {
+      if (extended_event_reported (&event_child->waitstatus))
+	{
+	  char *str;
+
+	  str = target_waitstatus_to_string (&event_child->waitstatus);
+	  debug_printf ("LWP %ld: extended event with waitstatus %s\n",
+			lwpid_of (get_lwp_thread (event_child)), str);
+	  xfree (str);
+	}
       if (current_thread->last_resume_kind == resume_step)
 	{
 	  if (event_child->step_range_start == event_child->step_range_end)


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