aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2008-10-27 12:43:24 +0000
committerPedro Alves <palves@redhat.com>2008-10-27 12:43:24 +0000
commit8a305172062baab75e6a3c61c971153558245551 (patch)
tree9e396af11e2e0a3f87b003c6f154a7c518fd7414 /gdb/target.h
parent676e87b3082eb253c4b3b7b2ce4ab4f3b241980d (diff)
downloadgdb-8a305172062baab75e6a3c61c971153558245551.zip
gdb-8a305172062baab75e6a3c61c971153558245551.tar.gz
gdb-8a305172062baab75e6a3c61c971153558245551.tar.bz2
* target.h (struct target_ops) <to_supports_multi_process>: New
field. (target_supports_multi_process): New define. * target.c (update_current_target): Inherit and de_fault to_supports_multi_process. * infcmd.c (attach_command): Allow attaching to multiple processes if the target supports it. (detach_command): If the target claims there is still execution, don't clear the thread list. * remote.c (remote_supports_multi_process): New. (init_remote_ops): Register remote_supports_multi_process.
Diffstat (limited to 'gdb/target.h')
-rw-r--r--gdb/target.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/target.h b/gdb/target.h
index 9ec8f5d..a010d2d 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -536,6 +536,10 @@ struct target_ops
/* Can target execute in reverse? */
int (*to_can_execute_reverse) ();
+ /* Does this target support debugging multiple processes
+ simultaneously? */
+ int (*to_supports_multi_process) (void);
+
int to_magic;
/* Need sub-structure for target machine related rather than comm related?
*/
@@ -647,6 +651,12 @@ extern void target_resume (ptid_t ptid, int step, enum target_signal signal);
#define target_prepare_to_store(regcache) \
(*current_target.to_prepare_to_store) (regcache)
+/* Returns true if this target can debug multiple processes
+ simultaneously. */
+
+#define target_supports_multi_process() \
+ (*current_target.to_supports_multi_process) ()
+
extern DCACHE *target_dcache;
extern int target_read_string (CORE_ADDR, char **, int, int *);