Linux gdbserver fork event debug output
authorPedro Alves <palves@redhat.com>
Thu, 6 Aug 2015 09:30:16 +0000 (10:30 +0100)
committerPedro Alves <palves@redhat.com>
Thu, 6 Aug 2015 09:30:16 +0000 (10:30 +0100)
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.

gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c

index 43cae4049def30f9bf7a6f5638c3ca28f773337d..eb1101c1b3a952a69dc827fe9fde98e2aa45e034 100644 (file)
@@ -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
index f1e1d7271d7df59becb92fa966905e3e3c862e7a..76b212d23981f3a4083e5eb4c439843ed4e439dc 100644 (file)
@@ -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)