aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/darwin-nat.c10
-rw-r--r--gdb/inf-ptrace.c10
-rw-r--r--gdb/nto-procfs.c11
-rw-r--r--gdb/remote.c10
-rw-r--r--gdb/target.c22
-rw-r--r--gdb/target.h5
7 files changed, 41 insertions, 36 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3f88f7b..53e3951 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2016-07-01 Pedro Alves <palves@redhat.com>
+
+ * darwin-nat.c (darwin_detach): Use target_announce_detach.
+ * inf-ptrace.c (inf_ptrace_detach): Likewise.
+ * nto-procfs.c (procfs_detach): Likewise.
+ * remote.c (remote_detach_1): Likewise.
+ * target.c (target_announce_detach): New function.
+ * target.h (target_announce_detach): New declaration.
+
2016-06-29 Tom Tromey <tom@tromey.com>
PR python/20129:
diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index 54c430f..590c2ad 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -1739,15 +1739,7 @@ darwin_detach (struct target_ops *ops, const char *args, int from_tty)
int res;
/* Display message. */
- if (from_tty)
- {
- char *exec_file = get_exec_file (0);
- if (exec_file == 0)
- exec_file = "";
- printf_unfiltered (_("Detaching from program: %s, %s\n"), exec_file,
- target_pid_to_str (pid_to_ptid (pid)));
- gdb_flush (gdb_stdout);
- }
+ target_announce_detach (from_tty);
/* If ptrace() is in use, stop the process. */
if (!inf->priv->no_ptrace)
diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c
index 329d8fb..dd11043 100644
--- a/gdb/inf-ptrace.c
+++ b/gdb/inf-ptrace.c
@@ -240,15 +240,7 @@ inf_ptrace_detach (struct target_ops *ops, const char *args, int from_tty)
pid_t pid = ptid_get_pid (inferior_ptid);
int sig = 0;
- if (from_tty)
- {
- char *exec_file = get_exec_file (0);
- if (exec_file == 0)
- exec_file = "";
- printf_unfiltered (_("Detaching from program: %s, %s\n"), exec_file,
- target_pid_to_str (pid_to_ptid (pid)));
- gdb_flush (gdb_stdout);
- }
+ target_announce_detach (from_tty);
if (args)
sig = atoi (args);
diff --git a/gdb/nto-procfs.c b/gdb/nto-procfs.c
index eb7dcfe..f49453d 100644
--- a/gdb/nto-procfs.c
+++ b/gdb/nto-procfs.c
@@ -962,15 +962,8 @@ procfs_detach (struct target_ops *ops, const char *args, int from_tty)
int siggnal = 0;
int pid;
- if (from_tty)
- {
- char *exec_file = get_exec_file (0);
- if (exec_file == 0)
- exec_file = "";
- printf_unfiltered ("Detaching from program: %s %s\n",
- exec_file, target_pid_to_str (inferior_ptid));
- gdb_flush (gdb_stdout);
- }
+ target_announce_detach ();
+
if (args)
siggnal = atoi (args);
diff --git a/gdb/remote.c b/gdb/remote.c
index 501f3c6..e4b2095 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -5134,15 +5134,7 @@ remote_detach_1 (const char *args, int from_tty)
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);
- }
+ target_announce_detach (from_tty);
/* Tell the remote target to detach. */
remote_detach_pid (pid);
diff --git a/gdb/target.c b/gdb/target.c
index bb86adf..d3fc35b 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -3251,6 +3251,28 @@ find_target_at (enum strata stratum)
}
+
+/* See target.h */
+
+void
+target_announce_detach (int from_tty)
+{
+ pid_t pid;
+ char *exec_file;
+
+ if (!from_tty)
+ return;
+
+ exec_file = get_exec_file (0);
+ if (exec_file == NULL)
+ exec_file = "";
+
+ pid = ptid_get_pid (inferior_ptid);
+ printf_unfiltered (_("Detaching from program: %s, %s\n"), exec_file,
+ target_pid_to_str (pid_to_ptid (pid)));
+ gdb_flush (gdb_stdout);
+}
+
/* The inferior process has died. Long live the inferior! */
void
diff --git a/gdb/target.h b/gdb/target.h
index 6b5b6e0..fc317e3 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -1302,6 +1302,11 @@ extern struct target_ops *find_run_target (void);
#define target_post_attach(pid) \
(*current_target.to_post_attach) (&current_target, pid)
+/* Display a message indicating we're about to detach from the current
+ inferior process. */
+
+extern void target_announce_detach (int from_tty);
+
/* Takes a program previously attached to and detaches it.
The program may resume execution (some targets do, some don't) and will
no longer stop on signals, etc. We better not have left any breakpoints