GDB (xrefs)
|
#include "defs.h"
#include "gdbcore.h"
#include "gdbthread.h"
#include "ada-lang.h"
#include "target.h"
#include "inferior.h"
#include "command.h"
#include "ravenscar-thread.h"
#include "observer.h"
#include "gdb_string.h"
#include "gdbcmd.h"
#include "top.h"
#include "regcache.h"
Go to the source code of this file.
void _initialize_ravenscar | ( | void | ) |
static CORE_ADDR get_running_thread_id | ( | void | ) | [static] |
Definition at line 153 of file ravenscar-thread.c.
References builtin_type::builtin_data_ptr, builtin_type(), extract_typed_address(), get_running_thread_msymbol(), read_memory(), SYMBOL_VALUE_ADDRESS, target_gdbarch(), and TYPE_LENGTH.
Referenced by ravenscar_running_thread().
static struct minimal_symbol* get_running_thread_msymbol | ( | void | ) | [static, read] |
Definition at line 106 of file ravenscar-thread.c.
References lookup_minimal_symbol(), and running_thread_name.
Referenced by get_running_thread_id(), and has_ravenscar_runtime().
static int has_ravenscar_runtime | ( | void | ) | [static] |
Definition at line 125 of file ravenscar-thread.c.
References first_task_name, get_running_thread_msymbol(), known_tasks_name, lookup_minimal_symbol(), and ravenscar_runtime_initializer.
Referenced by ravenscar_inferior_created().
static void init_ravenscar_thread_ops | ( | void | ) | [static] |
Definition at line 358 of file ravenscar-thread.c.
References default_child_has_all_memory(), default_child_has_execution(), default_child_has_memory(), default_child_has_registers(), default_child_has_stack(), OPS_MAGIC, ravenscar_extra_thread_info(), ravenscar_fetch_registers(), ravenscar_find_new_threads(), ravenscar_get_ada_task_ptid(), ravenscar_mourn_inferior(), ravenscar_ops, ravenscar_pid_to_str(), ravenscar_prepare_to_store(), ravenscar_resume(), ravenscar_store_registers(), ravenscar_thread_alive(), ravenscar_wait(), thread_stratum, target_ops::to_doc, target_ops::to_extra_thread_info, target_ops::to_fetch_registers, target_ops::to_find_new_threads, target_ops::to_get_ada_task_ptid, target_ops::to_has_all_memory, target_ops::to_has_execution, target_ops::to_has_memory, target_ops::to_has_registers, target_ops::to_has_stack, target_ops::to_longname, target_ops::to_magic, target_ops::to_mourn_inferior, target_ops::to_pid_to_str, target_ops::to_prepare_to_store, target_ops::to_resume, target_ops::to_shortname, target_ops::to_store_registers, target_ops::to_stratum, target_ops::to_thread_alive, and target_ops::to_wait.
static void ravenscar_add_thread | ( | struct ada_task_info * | task | ) | [static] |
Definition at line 213 of file ravenscar-thread.c.
References add_thread(), find_thread_ptid(), and ada_task_info::ptid.
Referenced by ravenscar_find_new_threads().
static char * ravenscar_extra_thread_info | ( | struct thread_info * | tp | ) | [static] |
Definition at line 244 of file ravenscar-thread.c.
Referenced by init_ravenscar_thread_ops().
static void ravenscar_fetch_registers | ( | struct target_ops * | ops, |
struct regcache * | regcache, | ||
int | regnum | ||
) | [static] |
Definition at line 266 of file ravenscar-thread.c.
References target_ops::beneath, find_target_beneath(), gdbarch_ravenscar_ops(), get_regcache_arch(), inferior_ptid, ptid_equal(), ravenscar_running_thread(), ravenscar_runtime_initialized(), ravenscar_arch_ops::to_fetch_registers, and target_ops::to_fetch_registers.
Referenced by init_ravenscar_thread_ops().
static void ravenscar_find_new_threads | ( | struct target_ops * | ops | ) | [static] |
Definition at line 220 of file ravenscar-thread.c.
References ada_build_task_list(), iterate_over_live_ada_tasks(), and ravenscar_add_thread().
Referenced by init_ravenscar_thread_ops(), and ravenscar_wait().
static ptid_t ravenscar_get_ada_task_ptid | ( | long | lwp, |
long | thread | ||
) | [static] |
Definition at line 352 of file ravenscar-thread.c.
References ptid_build(), and ptid_get_pid().
Referenced by init_ravenscar_thread_ops().
static void ravenscar_inferior_created | ( | struct target_ops * | target, |
int | from_tty | ||
) | [static] |
Definition at line 337 of file ravenscar-thread.c.
References current_inferior(), gdbarch_ravenscar_ops(), has_ravenscar_runtime(), inferior_ptid, push_target(), ravenscar_ops, ravenscar_task_support, and ravenscar_update_inferior_ptid().
static void ravenscar_mourn_inferior | ( | struct target_ops * | ops | ) | [static] |
Definition at line 325 of file ravenscar-thread.c.
References target_ops::beneath, find_target_beneath(), null_ptid, ravenscar_ops, target_ops::to_mourn_inferior, and unpush_target().
Referenced by init_ravenscar_thread_ops().
static char* ravenscar_pid_to_str | ( | struct target_ops * | ops, |
ptid_t | ptid | ||
) | [static] |
Definition at line 257 of file ravenscar-thread.c.
References ptid_get_tid().
Referenced by init_ravenscar_thread_ops().
static void ravenscar_prepare_to_store | ( | struct regcache * | regcache | ) | [static] |
Definition at line 306 of file ravenscar-thread.c.
References target_ops::beneath, find_target_beneath(), gdbarch_ravenscar_ops(), get_regcache_arch(), inferior_ptid, ptid_equal(), ravenscar_ops, ravenscar_running_thread(), ravenscar_runtime_initialized(), ravenscar_arch_ops::to_prepare_to_store, and target_ops::to_prepare_to_store.
Referenced by init_ravenscar_thread_ops().
static void ravenscar_resume | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
int | step, | ||
enum gdb_signal | siggnal | ||
) | [static] |
Definition at line 175 of file ravenscar-thread.c.
References base_ptid, target_ops::beneath, find_target_beneath(), inferior_ptid, and target_ops::to_resume.
Referenced by init_ravenscar_thread_ops().
static ptid_t ravenscar_running_thread | ( | void | ) | [static] |
Definition at line 233 of file ravenscar-thread.c.
References get_running_thread_id(), null_ptid, ptid_build(), and ptid_get_pid().
Referenced by ravenscar_fetch_registers(), ravenscar_prepare_to_store(), ravenscar_runtime_initialized(), ravenscar_store_registers(), and ravenscar_update_inferior_ptid().
static int ravenscar_runtime_initialized | ( | void | ) | [static] |
Definition at line 144 of file ravenscar-thread.c.
References null_ptid, ptid_equal(), and ravenscar_running_thread().
Referenced by ravenscar_fetch_registers(), ravenscar_prepare_to_store(), ravenscar_store_registers(), and ravenscar_update_inferior_ptid().
static void ravenscar_store_registers | ( | struct target_ops * | ops, |
struct regcache * | regcache, | ||
int | regnum | ||
) | [static] |
Definition at line 286 of file ravenscar-thread.c.
References target_ops::beneath, find_target_beneath(), gdbarch_ravenscar_ops(), get_regcache_arch(), inferior_ptid, ptid_equal(), ravenscar_running_thread(), ravenscar_runtime_initialized(), ravenscar_arch_ops::to_store_registers, and target_ops::to_store_registers.
Referenced by init_ravenscar_thread_ops().
static int ravenscar_thread_alive | ( | struct target_ops * | ops, |
ptid_t | ptid | ||
) | [static] |
Definition at line 250 of file ravenscar-thread.c.
Referenced by init_ravenscar_thread_ops().
static void ravenscar_update_inferior_ptid | ( | void | ) | [static] |
Definition at line 79 of file ravenscar-thread.c.
References add_thread(), find_thread_ptid(), gdb_assert, inferior_ptid, null_ptid, ptid_equal(), ravenscar_running_thread(), and ravenscar_runtime_initialized().
Referenced by ravenscar_inferior_created(), and ravenscar_wait().
static ptid_t ravenscar_wait | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
struct target_waitstatus * | status, | ||
int | options | ||
) | [static] |
Definition at line 185 of file ravenscar-thread.c.
References base_ptid, target_ops::beneath, find_target_beneath(), inferior_ptid, target_waitstatus::kind, ravenscar_find_new_threads(), ravenscar_update_inferior_ptid(), TARGET_WAITKIND_EXITED, TARGET_WAITKIND_SIGNALLED, and target_ops::to_wait.
Referenced by init_ravenscar_thread_ops().
static void set_ravenscar_command | ( | char * | arg, |
int | from_tty | ||
) | [static] |
Definition at line 390 of file ravenscar-thread.c.
References _, gdb_stdout, help_list(), and printf_unfiltered().
static void show_ravenscar_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 400 of file ravenscar-thread.c.
References cmd_show_list().
static void show_ravenscar_task_switching_command | ( | struct ui_file * | file, |
int | from_tty, | ||
struct cmd_list_element * | c, | ||
const char * | value | ||
) | [static] |
Definition at line 408 of file ravenscar-thread.c.
References _, fprintf_filtered(), and ravenscar_task_support.
ptid_t base_magic_null_ptid [static] |
Definition at line 42 of file ravenscar-thread.c.
Definition at line 45 of file ravenscar-thread.c.
Referenced by ravenscar_resume(), and ravenscar_wait().
const char first_task_name[] = "system__tasking__debug__first_task" [static] |
Definition at line 50 of file ravenscar-thread.c.
Referenced by has_ravenscar_runtime().
const char known_tasks_name[] = "system__tasking__debug__known_tasks" [static] |
Definition at line 49 of file ravenscar-thread.c.
Referenced by has_ravenscar_runtime().
struct target_ops ravenscar_ops [static] |
Definition at line 38 of file ravenscar-thread.c.
Referenced by init_ravenscar_thread_ops(), ravenscar_inferior_created(), ravenscar_mourn_inferior(), ravenscar_prepare_to_store(), and set_gdbarch_ravenscar_ops().
const char ravenscar_runtime_initializer[] = "system__bb__threads__initialize" [static] |
Definition at line 52 of file ravenscar-thread.c.
Referenced by has_ravenscar_runtime().
int ravenscar_task_support = 1 [static] |
Definition at line 35 of file ravenscar-thread.c.
Referenced by ravenscar_inferior_created(), and show_ravenscar_task_switching_command().
const char running_thread_name[] = "__gnat_running_thread_table" [static] |
Definition at line 47 of file ravenscar-thread.c.
Referenced by get_running_thread_msymbol().
struct cmd_list_element* set_ravenscar_list [static] |
Definition at line 384 of file ravenscar-thread.c.
struct cmd_list_element* show_ravenscar_list [static] |
Definition at line 385 of file ravenscar-thread.c.
struct observer* update_target_observer = NULL [static] |
Definition at line 55 of file ravenscar-thread.c.