From 6a6bbd9d762d3d9d3da1b0337b84f4fe64f06bd2 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 5 Sep 2013 20:41:22 +0000 Subject: [PATCH] [gdbserver] Split a new inferiors.h file out of server.h. gdb/gdbserver/ 2013-09-05 Pedro Alves * server.h (current_process, get_thread_process, all_processes) (add_inferior_to_list, for_each_inferior, current_inferior) (remove_inferior, add_process, remove_process, find_process_pid) (have_started_inferiors_p, have_attached_inferiors_p) (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id) (clear_inferiors, find_inferior, find_inferior_id) (inferior_target_data, set_inferior_target_data) (inferior_regcache_data, set_inferior_regcache_data): Move to inferiors.h, and include it. * inferiors.h: New file. --- gdb/gdbserver/ChangeLog | 13 ++++++ gdb/gdbserver/gdbthread.h | 1 + gdb/gdbserver/server.h | 97 +-------------------------------------- gdb/gdbserver/target.h | 1 + 4 files changed, 17 insertions(+), 95 deletions(-) diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 563fa2bc4f..438673d401 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,16 @@ +2013-09-05 Pedro Alves + + * server.h (current_process, get_thread_process, all_processes) + (add_inferior_to_list, for_each_inferior, current_inferior) + (remove_inferior, add_process, remove_process, find_process_pid) + (have_started_inferiors_p, have_attached_inferiors_p) + (thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id) + (clear_inferiors, find_inferior, find_inferior_id) + (inferior_target_data, set_inferior_target_data) + (inferior_regcache_data, set_inferior_regcache_data): Move to + inferiors.h, and include it. + * inferiors.h: New file. + 2013-09-05 Pedro Alves * server.h (struct emit_ops, current_insn_ptr, emit_error): diff --git a/gdb/gdbserver/gdbthread.h b/gdb/gdbserver/gdbthread.h index 5d4955b5d1..b43d676921 100644 --- a/gdb/gdbserver/gdbthread.h +++ b/gdb/gdbserver/gdbthread.h @@ -20,6 +20,7 @@ #define GDB_THREAD_H #include "server.h" +#include "inferiors.h" struct btrace_target_info; diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h index e21012aba9..a6961215b4 100644 --- a/gdb/gdbserver/server.h +++ b/gdb/gdbserver/server.h @@ -94,30 +94,13 @@ typedef long long CORE_ADDR; typedef long long LONGEST; typedef unsigned long long ULONGEST; -/* Generic information for tracking a list of ``inferiors'' - threads, - processes, etc. */ -struct inferior_list -{ - struct inferior_list_entry *head; - struct inferior_list_entry *tail; -}; -struct inferior_list_entry -{ - ptid_t id; - struct inferior_list_entry *next; -}; - -struct thread_info; -struct process_info; -struct regcache; -struct target_desc; - #include "regcache.h" #include "gdb/signals.h" #include "gdb_signals.h" #include "target.h" #include "mem-break.h" #include "gdbthread.h" +#include "inferiors.h" struct dll_info { @@ -126,92 +109,16 @@ struct dll_info CORE_ADDR base_addr; }; -struct sym_cache; -struct breakpoint; -struct raw_breakpoint; -struct fast_tracepoint_jump; -struct process_info_private; - -struct process_info -{ - struct inferior_list_entry head; - - /* Nonzero if this child process was attached rather than - spawned. */ - int attached; - - /* True if GDB asked us to detach from this process, but we remained - attached anyway. */ - int gdb_detached; - - /* The symbol cache. */ - struct sym_cache *symbol_cache; - - /* The list of memory breakpoints. */ - struct breakpoint *breakpoints; - - /* The list of raw memory breakpoints. */ - struct raw_breakpoint *raw_breakpoints; - - /* The list of installed fast tracepoints. */ - struct fast_tracepoint_jump *fast_tracepoint_jumps; - - const struct target_desc *tdesc; - - /* Private target data. */ - struct process_info_private *private; -}; - -/* Return a pointer to the process that corresponds to the current - thread (current_inferior). It is an error to call this if there is - no current thread selected. */ - -struct process_info *current_process (void); -struct process_info *get_thread_process (struct thread_info *); - /* Target-specific functions */ void initialize_low (); -/* From inferiors.c. */ +/* From dll.c. */ -extern struct inferior_list all_processes; extern struct inferior_list all_dlls; extern int dlls_changed; extern void clear_dlls (void); -void add_inferior_to_list (struct inferior_list *list, - struct inferior_list_entry *new_inferior); -void for_each_inferior (struct inferior_list *list, - void (*action) (struct inferior_list_entry *)); - -extern struct thread_info *current_inferior; -void remove_inferior (struct inferior_list *list, - struct inferior_list_entry *entry); - -struct process_info *add_process (int pid, int attached); -void remove_process (struct process_info *process); -struct process_info *find_process_pid (int pid); -int have_started_inferiors_p (void); -int have_attached_inferiors_p (void); - -ptid_t thread_id_to_gdb_id (ptid_t); -ptid_t thread_to_gdb_id (struct thread_info *); -ptid_t gdb_id_to_thread_id (ptid_t); - -void clear_inferiors (void); -struct inferior_list_entry *find_inferior - (struct inferior_list *, - int (*func) (struct inferior_list_entry *, - void *), - void *arg); -struct inferior_list_entry *find_inferior_id (struct inferior_list *list, - ptid_t id); -void *inferior_target_data (struct thread_info *); -void set_inferior_target_data (struct thread_info *, void *); -void *inferior_regcache_data (struct thread_info *); -void set_inferior_regcache_data (struct thread_info *, void *); - void loaded_dll (const char *name, CORE_ADDR base_addr); void unloaded_dll (const char *name, CORE_ADDR base_addr); diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h index 7629b14a9a..c5e6feec5e 100644 --- a/gdb/gdbserver/target.h +++ b/gdb/gdbserver/target.h @@ -28,6 +28,7 @@ struct emit_ops; struct btrace_target_info; struct buffer; +struct process_info; /* This structure describes how to resume a particular thread (or all threads) based on the client's request. If thread is -1, then this -- 2.34.1