aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDon Breazeal <donb@codesourcery.com>2015-05-28 14:26:03 -0700
committerDon Breazeal <donb@codesourcery.com>2015-05-28 14:37:56 -0700
commit8dd06f7a89b6eb7b646349f50746b3d2e85ed5de (patch)
treed58780dccd9e542936efeac34574dead7dec9ca7
parenta051152b640c8bd1286ae71410f0b861ee158691 (diff)
downloadgdb-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/ChangeLog6
-rw-r--r--gdb/infrun.c10
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);