aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2012-02-15 12:48:55 +0000
committerPedro Alves <palves@redhat.com>2012-02-15 12:48:55 +0000
commit7cee1e5405310dae3ab7f6356d56f6b5f69e4b2c (patch)
treed3ff9606d14241207427d87dcac8d80c388f7e2e /gdb/remote.c
parentf9fa4a63414294ef4eb46f6acb5b649382620f2a (diff)
downloadgdb-7cee1e5405310dae3ab7f6356d56f6b5f69e4b2c.zip
gdb-7cee1e5405310dae3ab7f6356d56f6b5f69e4b2c.tar.gz
gdb-7cee1e5405310dae3ab7f6356d56f6b5f69e4b2c.tar.bz2
gdb/
2012-02-15 Pedro Alves <palves@redhat.com> * remote.c (remote_detach_1, extended_remote_attach_1): Tweak output to be like native targets'. (remote_pid_to_str): Special case the null ptid. gdb/testsuite/ 2012-02-15 Pedro Alves <palves@redhat.com> Support extended-remote. Avoid cascading timeouts. * gdb.base/attach.exp (do_attach_tests): Add expected output for the extended-remote target. If attaching with no file fails, load the file manually. * gdb.server/ext-attach.exp: Adjust expected attach/detach output.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r--gdb/remote.c47
1 files changed, 29 insertions, 18 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index 3187ac0..14c343b 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -4205,6 +4205,16 @@ remote_detach_1 (char *args, int from_tty, int extended)
if (!target_has_execution)
error (_("No process to detach from."));
+ if (from_tty)
+ {
+ char *exec_file = get_exec_file (0);
+ if (exec_file == NULL)
+ exec_file = "";
+ printf_unfiltered (_("Detaching from program: %s, %s\n"), exec_file,
+ target_pid_to_str (pid_to_ptid (pid)));
+ gdb_flush (gdb_stdout);
+ }
+
/* Tell the remote target to detach. */
if (remote_multi_process_p (rs))
sprintf (rs->buf, "D;%x", pid);
@@ -4221,19 +4231,8 @@ remote_detach_1 (char *args, int from_tty, int extended)
else
error (_("Can't detach process."));
- if (from_tty)
- {
- if (remote_multi_process_p (rs))
- printf_filtered (_("Detached from remote %s.\n"),
- target_pid_to_str (pid_to_ptid (pid)));
- else
- {
- if (extended)
- puts_filtered (_("Detached from remote process.\n"));
- else
- puts_filtered (_("Ending remote debugging.\n"));
- }
- }
+ if (from_tty && !extended)
+ puts_filtered (_("Ending remote debugging.\n"));
discard_pending_stop_replies (pid);
target_mourn_inferior ();
@@ -4286,6 +4285,20 @@ extended_remote_attach_1 (struct target_ops *target, char *args, int from_tty)
if (remote_protocol_packets[PACKET_vAttach].support == PACKET_DISABLE)
error (_("This target does not support attaching to a process"));
+ if (from_tty)
+ {
+ char *exec_file = get_exec_file (0);
+
+ if (exec_file)
+ printf_unfiltered (_("Attaching to program: %s, %s\n"), exec_file,
+ target_pid_to_str (pid_to_ptid (pid)));
+ else
+ printf_unfiltered (_("Attaching to %s\n"),
+ target_pid_to_str (pid_to_ptid (pid)));
+
+ gdb_flush (gdb_stdout);
+ }
+
sprintf (rs->buf, "vAttach;%x", pid);
putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0);
@@ -4293,10 +4306,6 @@ extended_remote_attach_1 (struct target_ops *target, char *args, int from_tty)
if (packet_ok (rs->buf,
&remote_protocol_packets[PACKET_vAttach]) == PACKET_OK)
{
- if (from_tty)
- printf_unfiltered (_("Attached to %s\n"),
- target_pid_to_str (pid_to_ptid (pid)));
-
if (!non_stop)
{
/* Save the reply for later. */
@@ -8823,7 +8832,9 @@ remote_pid_to_str (struct target_ops *ops, ptid_t ptid)
static char buf[64];
struct remote_state *rs = get_remote_state ();
- if (ptid_is_pid (ptid))
+ if (ptid_equal (ptid, null_ptid))
+ return normal_pid_to_str (ptid);
+ else if (ptid_is_pid (ptid))
{
/* Printing an inferior target id. */