53 "system__bb__threads__initialize";
67 enum gdb_signal siggnal);
136 return (msym_ravenscar_runtime_initializer.
minsym
138 && msym_running_thread.
minsym);
161 struct type *builtin_type_void_data_ptr =
168 object_size =
TYPE_LENGTH (builtin_type_void_data_ptr);
169 buf_size = object_size;
170 buf = alloca (buf_size);
177 enum gdb_signal siggnal)
182 beneath->
to_resume (beneath, base_ptid, step, siggnal);
193 beneath->
to_wait (beneath, base_ptid, status, 0);
247 return "Ravenscar task";
262 snprintf (buf,
sizeof (buf),
"Thread %#x", (
int)
ptid_get_tid (ptid));
395 "\"set ravenscar\" must be followed by the name of a setting.\n"));
416 Support for Ravenscar task/thread switching is enabled\n"));
419 Support for Ravenscar task/thread switching is disabled\n"));
441 _(
"Prefix command for changing Ravenscar-specific settings"),
442 &set_ravenscar_list,
"set ravenscar ", 0, &
setlist);
445 _(
"Prefix command for showing Ravenscar-specific settings"),
446 &show_ravenscar_list,
"show ravenscar ", 0, &
showlist);
450 Enable or disable support for GNAT Ravenscar tasks"),
_(
"\
451 Show whether support for GNAT Ravenscar tasks is enabled"),
453 Enable or disable support for task/thread switching with the GNAT\n\
454 Ravenscar run-time library for bareboard configuration."),
456 &set_ravenscar_list, &show_ravenscar_list);
static char * ravenscar_extra_thread_info(struct target_ops *self, struct thread_info *tp)
struct gdbarch * target_gdbarch(void)
void _initialize_ravenscar(void)
int default_child_has_stack(struct target_ops *ops)
struct cmd_list_element * add_prefix_cmd(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc, struct cmd_list_element **prefixlist, const char *prefixname, int allow_unknown, struct cmd_list_element **list)
struct thread_info * add_thread(ptid_t ptid)
struct thread_info * find_thread_ptid(ptid_t ptid)
CORE_ADDR extract_typed_address(const gdb_byte *buf, struct type *type)
static int has_ravenscar_runtime(void)
int ptid_equal(ptid_t ptid1, ptid_t ptid2)
static ptid_t ravenscar_running_thread(void)
struct gdbarch * get_regcache_arch(const struct regcache *regcache)
#define BMSYMBOL_VALUE_ADDRESS(symbol)
int(* to_has_memory)(struct target_ops *)
char *(* to_pid_to_str)(struct target_ops *, ptid_t) TARGET_DEFAULT_FUNC(default_pid_to_str)
void(* to_fetch_registers)(struct regcache *, int)
int(* to_has_stack)(struct target_ops *)
void push_target(struct target_ops *t)
char *(* to_extra_thread_info)(struct target_ops *, struct thread_info *) TARGET_DEFAULT_RETURN(NULL)
struct ravenscar_arch_ops * gdbarch_ravenscar_ops(struct gdbarch *gdbarch)
struct ui_file * gdb_stdout
const struct builtin_type * builtin_type(struct gdbarch *gdbarch)
static int ravenscar_task_support
int unpush_target(struct target_ops *t)
static CORE_ADDR get_running_thread_id(void)
static void show_ravenscar_task_switching_command(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void ravenscar_update_thread_list(struct target_ops *ops)
static ptid_t ravenscar_get_ada_task_ptid(struct target_ops *self, long lwp, long thread)
static int ravenscar_runtime_initialized(void)
ptid_t(* to_wait)(struct target_ops *, ptid_t, struct target_waitstatus *, int TARGET_DEBUG_PRINTER(target_debug_print_options)) TARGET_DEFAULT_NORETURN(noprocess())
int default_child_has_execution(struct target_ops *ops, ptid_t the_ptid)
static struct cmd_list_element * set_ravenscar_list
static struct target_ops ravenscar_ops
ptid_t ptid_build(int pid, long lwp, long tid)
struct observer * observer_attach_inferior_created(observer_inferior_created_ftype *f)
static void set_ravenscar_command(char *arg, int from_tty)
int default_child_has_memory(struct target_ops *ops)
static void init_ravenscar_thread_ops(void)
struct cmd_list_element * setlist
static void ravenscar_prepare_to_store(struct target_ops *self, struct regcache *regcache)
static ptid_t ravenscar_wait(struct target_ops *ops, ptid_t ptid, struct target_waitstatus *status, int options)
void complete_target_initialization(struct target_ops *t)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int status
void(* to_resume)(struct target_ops *, ptid_t, int TARGET_DEBUG_PRINTER(target_debug_print_step), enum gdb_signal) TARGET_DEFAULT_NORETURN(noprocess())
static char * ravenscar_pid_to_str(struct target_ops *ops, ptid_t ptid)
struct cmd_list_element * showlist
int default_child_has_all_memory(struct target_ops *ops)
int(* to_has_execution)(struct target_ops *, ptid_t)
static const char running_thread_name[]
static void ravenscar_mourn_inferior(struct target_ops *ops)
static void show_ravenscar_command(char *args, int from_tty)
struct target_ops * find_target_beneath(struct target_ops *t)
void printf_unfiltered(const char *format,...)
void read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
static void ravenscar_inferior_created(struct target_ops *target, int from_tty)
static const char known_tasks_name[]
void cmd_show_list(struct cmd_list_element *list, int from_tty, const char *prefix)
static void ravenscar_add_thread(struct ada_task_info *task)
int ptid_get_pid(ptid_t ptid)
static const char first_task_name[]
void help_list(struct cmd_list_element *list, const char *cmdtype, enum command_class theclass, struct ui_file *stream)
static void ravenscar_store_registers(struct target_ops *ops, struct regcache *regcache, int regnum)
static ptid_t base_magic_null_ptid
void(* to_fetch_registers)(struct target_ops *, struct regcache *, int) TARGET_DEFAULT_IGNORE()
long ptid_get_tid(ptid_t ptid)
void(* to_mourn_inferior)(struct target_ops *) TARGET_DEFAULT_FUNC(default_mourn_inferior)
int default_child_has_registers(struct target_ops *ops)
enum target_waitkind kind
struct type * builtin_data_ptr
struct minimal_symbol * minsym
static int ravenscar_thread_alive(struct target_ops *ops, ptid_t ptid)
static struct cmd_list_element * show_ravenscar_list
void iterate_over_live_ada_tasks(ada_task_list_iterator_ftype *iterator)
struct inferior * current_inferior(void)
const char * to_shortname
static void ravenscar_fetch_registers(struct target_ops *ops, struct regcache *regcache, int regnum)
int(* to_has_all_memory)(struct target_ops *)
static struct bound_minimal_symbol get_running_thread_msymbol(void)
#define TYPE_LENGTH(thistype)
static void ravenscar_update_inferior_ptid(void)
int(* to_thread_alive)(struct target_ops *, ptid_t ptid) TARGET_DEFAULT_RETURN(0)
int ada_build_task_list(void)
void(* to_update_thread_list)(struct target_ops *) TARGET_DEFAULT_IGNORE()
void(* to_prepare_to_store)(struct target_ops *, struct regcache *) TARGET_DEFAULT_NORETURN(noprocess())
void(* to_store_registers)(struct target_ops *, struct regcache *, int) TARGET_DEFAULT_NORETURN(noprocess())
struct bound_minimal_symbol lookup_minimal_symbol(const char *name, const char *sfile, struct objfile *objf)
int(* to_has_registers)(struct target_ops *)
ptid_t(* to_get_ada_task_ptid)(struct target_ops *, long lwp, long thread) TARGET_DEFAULT_FUNC(default_get_ada_task_ptid)
void(* to_store_registers)(struct regcache *, int)
static void ravenscar_resume(struct target_ops *ops, ptid_t ptid, int step, enum gdb_signal siggnal)
void(* to_prepare_to_store)(struct regcache *)
struct target_ops * beneath
void add_setshow_boolean_cmd(const char *name, enum command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
static const char ravenscar_runtime_initializer[]