[RFAv2] Fix internal error and improve 'set debug infrun 1'/target wait kind trace

Message ID 87sguym84y.fsf@euler.schwinge.homeip.net
State New, archived
Headers

Commit Message

Thomas Schwinge April 4, 2019, 9:28 a.m. UTC
  Hi!

On Sat, 30 Mar 2019 10:58:31 +0100, Philippe Waroquiers <philippe.waroquiers@skynet.be> wrote:
> This patch [...] improves/factorises some wait kind traces.

> --- a/gdb/gnu-nat.c
> +++ b/gdb/gnu-nat.c
> @@ -1647,15 +1647,9 @@ rewait:
>        inf_update_suspends (inf);
>      }
>  
> -  inf_debug (inf, "returning ptid = %s, status = %s (%d)",
> +  inf_debug (inf, "returning ptid = %s, %s",
>  	     target_pid_to_str (ptid).c_str (),
> -	     status->kind == TARGET_WAITKIND_EXITED ? "EXITED"
> -	     : status->kind == TARGET_WAITKIND_STOPPED ? "STOPPED"
> -	     : status->kind == TARGET_WAITKIND_SIGNALLED ? "SIGNALLED"
> -	     : status->kind == TARGET_WAITKIND_LOADED ? "LOADED"
> -	     : status->kind == TARGET_WAITKIND_SPURIOUS ? "SPURIOUS"
> -	     : "?",
> -	     status->value.integer);
> +	     target_waitstatus_to_string (&status).c_str ());

Thanks for that cleanup.  I pushed the attached commit
e9f8e3f109d57c119eaaa1e56378926f7f20863f "[GDB, Hurd] Fix build;
'target_waitstatus_to_string' call" to make it work.  ;-)


Grüße
 Thomas
  

Comments

Philippe Waroquiers April 5, 2019, 9:21 p.m. UTC | #1
On Thu, 2019-04-04 at 11:28 +0200, Thomas Schwinge wrote:
> I pushed the attached commit
> e9f8e3f109d57c119eaaa1e56378926f7f20863f "[GDB, Hurd] Fix build;
> 'target_waitstatus_to_string' call" to make it work.  ;-)
Oops, sorry, and thanks for fixing.
I have not yet taken the time to see how to use the buildbot to catch
such errors before pushing.
Is there a Hurd machine in the buildbot set of machines ?

Thanks

Philippe
  

Patch

From e9f8e3f109d57c119eaaa1e56378926f7f20863f Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Thu, 4 Apr 2019 11:20:09 +0200
Subject: [PATCH] [GDB, Hurd] Fix build; 'target_waitstatus_to_string' call

Recent commit c29705b71a8ec966478c0dc4712194a95291c6de removed an incomplete
local implementation in favor of 'target_waitstatus_to_string' (thanks!), but
introduced a small typing error:

    In file included from [...]/gdb/gnu-nat.c:24:0:
    [...]/gdb/gnu-nat.c: In member function 'virtual ptid_t gnu_nat_target::wait(ptid_t, target_waitstatus*, int)':
    [...]/gdb/gnu-nat.c:1652:43: error: cannot convert 'target_waitstatus**' to 'const target_waitstatus*' for argument '1' to 'std::__cxx11::string target_waitstatus_to_string(const target_waitstatus*)'
           target_waitstatus_to_string (&status).c_str ());
                                               ^
    [...]/gdb/gnu-nat.h:119:32: note: in definition of macro 'debug'
            __FILE__ , __LINE__ , ##args); } while (0)
                                    ^~~~
    [...]/gdb/gnu-nat.c:1650:3: note: in expansion of macro 'inf_debug'
       inf_debug (inf, "returning ptid = %s, %s",
       ^~~~~~~~~

	gdb/
	* gnu-nat.c (gnu_nat_target::wait): Fix
	target_waitstatus_to_string call.
---
 gdb/ChangeLog | 5 +++++
 gdb/gnu-nat.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index aee0d967e1..4a49d32277 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@ 
+2019-04-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* gnu-nat.c (gnu_nat_target::wait): Fix
+	target_waitstatus_to_string call.
+
 2019-04-01  Andrew Burgess  <andrew.burgess@embecosm.com>
 
 	* eval.c (evaluate_subexp_standard): Handle internal functions
diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
index 654a652717..5eeac9270a 100644
--- a/gdb/gnu-nat.c
+++ b/gdb/gnu-nat.c
@@ -1649,7 +1649,7 @@  rewait:
 
   inf_debug (inf, "returning ptid = %s, %s",
 	     target_pid_to_str (ptid).c_str (),
-	     target_waitstatus_to_string (&status).c_str ());
+	     target_waitstatus_to_string (status).c_str ());
 
   return ptid;
 }
-- 
2.19.2