diff options
author | Don Breazeal <donb@codesourcery.com> | 2015-05-28 14:26:03 -0700 |
---|---|---|
committer | Don Breazeal <donb@codesourcery.com> | 2015-05-28 14:37:56 -0700 |
commit | 8dd06f7a89b6eb7b646349f50746b3d2e85ed5de (patch) | |
tree | d58780dccd9e542936efeac34574dead7dec9ca7 | |
parent | a051152b640c8bd1286ae71410f0b861ee158691 (diff) | |
download | gdb-8dd06f7a89b6eb7b646349f50746b3d2e85ed5de.zip gdb-8dd06f7a89b6eb7b646349f50746b3d2e85ed5de.tar.gz gdb-8dd06f7a89b6eb7b646349f50746b3d2e85ed5de.tar.bz2 |
Make remote follow fork 'Detaching' message match native
This patch fixes a couple of failures in gdb.base/foll-vfork.exp for
extended-remote targets. The failures were the result of the
verbose/debug "Detaching..." messages in infrun.c:follow_fork_inferior
not matching what was expected in the extended-remote case.
The path modifies the ptids used in the messages to ensure that they
print "process nnn" instead of (possibly) "Thread nnn.nnn". The
detach is a process-wide operation, so we need to use a process-
style ptid regardless of what type of ptid target_pid_to_str returns.
Tested on x86_64 GNU/Linux, native, remote, extended-remote.
gdb/
* infrun.c (follow_fork_inferior): Ensure the use of
process-style ptids (pid,0,0) in verbose/debug "Detaching"
messages.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/infrun.c | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bd0292b..ab10166 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2015-05-28 Don Breazeal <donb@codesourcery.com> + + * infrun.c (follow_fork_inferior): Ensure the use of + process-style ptids (pid,0,0) in verbose/debug "Detaching" + messages. + 2015-05-28 Doug Evans <dje@google.com> * dwarf2read.c (record_line_ftype): Remove, duplicate. diff --git a/gdb/infrun.c b/gdb/infrun.c index 2f6bc41..d8eb0b0 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -445,11 +445,14 @@ holding the child stopped. Try \"set detach-on-fork\" or \ if (info_verbose || debug_infrun) { + /* Ensure that we have a process ptid. */ + ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_ptid)); + target_terminal_ours_for_output (); fprintf_filtered (gdb_stdlog, _("Detaching after %s from child %s.\n"), has_vforked ? "vfork" : "fork", - target_pid_to_str (child_ptid)); + target_pid_to_str (process_ptid)); } } else @@ -578,11 +581,14 @@ holding the child stopped. Try \"set detach-on-fork\" or \ { if (info_verbose || debug_infrun) { + /* Ensure that we have a process ptid. */ + ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_ptid)); + target_terminal_ours_for_output (); fprintf_filtered (gdb_stdlog, _("Detaching after fork from " "child %s.\n"), - target_pid_to_str (child_ptid)); + target_pid_to_str (process_ptid)); } target_detach (NULL, 0); |