Consolidate API of target_supports_multi_process

This simple commit consolidates the API of
target_supports_multi_process.  Since both GDB and gdbserver use the
same function prototype, all that was needed was to move create this
prototype on gdb/target/target.h and turn the macros declared on
gdb/{,gdbserver/}target.h into actual functions.

Regtested (clean pass) on the BuildBot.

gdb/ChangeLog:
2016-10-06  Sergio Durigan Junior  <sergiodj@redhat.com>

	* target.c (target_supports_multi_process): New function, moved
	from...
	* target.h (target_supports_multi_process): ... here.  Remove
	macro.
	* target/target.h (target_supports_multi_process): New prototype.

gdb/gdbserver/ChangeLog:
2016-10-06  Sergio Durigan Junior  <sergiodj@redhat.com>

	* target.c (target_supports_multi_process): New function, moved
	from...
	* target.h (target_supports_multi_process): ... here.  Remove
	macro.
This commit is contained in:
Sergio Durigan Junior 2016-09-27 16:21:48 -04:00
parent ddb6d63387
commit 1fb77080fd
7 changed files with 37 additions and 10 deletions

View File

@ -1,3 +1,11 @@
2016-10-06 Sergio Durigan Junior <sergiodj@redhat.com>
* target.c (target_supports_multi_process): New function, moved
from...
* target.h (target_supports_multi_process): ... here. Remove
macro.
* target/target.h (target_supports_multi_process): New prototype.
2016-10-06 Pedro Alves <palves@redhat.com> 2016-10-06 Pedro Alves <palves@redhat.com>
* cp-valprint.c (vtbl_ptr_name): Write "extern const" instead of * cp-valprint.c (vtbl_ptr_name): Write "extern const" instead of

View File

@ -1,3 +1,10 @@
2016-10-06 Sergio Durigan Junior <sergiodj@redhat.com>
* target.c (target_supports_multi_process): New function, moved
from...
* target.h (target_supports_multi_process): ... here. Remove
macro.
2016-10-05 Tom Tromey <tom@tromey.com> 2016-10-05 Tom Tromey <tom@tromey.com>
PR remote/20655: PR remote/20655:

View File

@ -302,6 +302,15 @@ target_continue (ptid_t ptid, enum gdb_signal signal)
(*the_target->resume) (&resume_info, 1); (*the_target->resume) (&resume_info, 1);
} }
/* See target/target.h. */
int
target_supports_multi_process (void)
{
return (the_target->supports_multi_process != NULL ?
(*the_target->supports_multi_process) () : 0);
}
int int
start_non_stop (int nonstop) start_non_stop (int nonstop)
{ {

View File

@ -535,10 +535,6 @@ int kill_inferior (int);
#define target_async(enable) \ #define target_async(enable) \
(the_target->async ? (*the_target->async) (enable) : 0) (the_target->async ? (*the_target->async) (enable) : 0)
#define target_supports_multi_process() \
(the_target->supports_multi_process ? \
(*the_target->supports_multi_process) () : 0)
#define target_process_qsupported(features, count) \ #define target_process_qsupported(features, count) \
do \ do \
{ \ { \

View File

@ -2727,6 +2727,14 @@ target_supports_disable_randomization (void)
return 0; return 0;
} }
/* See target/target.h. */
int
target_supports_multi_process (void)
{
return (*current_target.to_supports_multi_process) (&current_target);
}
char * char *
target_get_osdata (const char *type) target_get_osdata (const char *type)
{ {

View File

@ -1380,12 +1380,6 @@ struct address_space *target_thread_address_space (ptid_t);
int target_info_proc (const char *, enum info_proc_what); int target_info_proc (const char *, enum info_proc_what);
/* Returns true if this target can debug multiple processes
simultaneously. */
#define target_supports_multi_process() \
(*current_target.to_supports_multi_process) (&current_target)
/* Returns true if this target can disable address space randomization. */ /* Returns true if this target can disable address space randomization. */
int target_supports_disable_randomization (void); int target_supports_disable_randomization (void);

View File

@ -90,4 +90,9 @@ extern ptid_t target_wait (ptid_t ptid, struct target_waitstatus *status,
extern void target_mourn_inferior (ptid_t ptid); extern void target_mourn_inferior (ptid_t ptid);
/* Return 1 if this target can debug multiple processes
simultaneously, zero otherwise. */
extern int target_supports_multi_process (void);
#endif /* TARGET_COMMON_H */ #endif /* TARGET_COMMON_H */