* 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.
This commit is contained in:
Pedro Alves
2008-10-27 12:43:24 +00:00
parent 676e87b308
commit 8a30517206
5 changed files with 46 additions and 2 deletions

View File

@@ -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 *);