24 #ifndef IN_PROCESS_AGENT 121 unsigned char *regbuf)
125 #ifndef IN_PROCESS_AGENT 147 #ifndef IN_PROCESS_AGENT 157 #ifndef IN_PROCESS_AGENT 191 #ifndef IN_PROCESS_AGENT 200 #ifndef IN_PROCESS_AGENT 208 for (
int i = 0; i < tdesc->
reg_defs.size (); ++i)
228 int len = strlen (buf);
234 warning (
"Wrong sized register packet (expected %d bytes, got %d)",
239 hex2bin (buf, registers, len / 2);
245 for (
int i = 0; i < tdesc->
reg_defs.size (); ++i)
247 struct reg *reg = tdesc->
reg_defs[i];
249 if (strcmp (
name, reg->name) == 0)
252 internal_error (__FILE__, __LINE__,
"Unknown register %s requested",
264 #ifndef IN_PROCESS_AGENT 306 static unsigned char *
324 #ifndef IN_PROCESS_AGENT 333 #ifndef IN_PROCESS_AGENT 347 #ifndef IN_PROCESS_AGENT 365 #ifndef IN_PROCESS_AGENT 369 for (i = 0; i < tdesc->
reg_defs.size (); i++)
379 #ifndef IN_PROCESS_AGENT 383 for (i = 0; i < tdesc->
reg_defs.size (); i++)
390 #ifndef IN_PROCESS_AGENT 394 const char *
name,
const void *buf)
421 error (
_(
"That operation is not available on integers of more than" 431 #ifndef IN_PROCESS_AGENT 442 const char *
name,
void *buf)
458 "regcache_read_pc: Unable to find PC");
470 "regcache_write_pc: Unable to update PC");
const struct target_desc * tdesc
CORE_ADDR(* read_pc)(struct regcache *regcache)
struct thread_info * current_thread
void collect_register(struct regcache *regcache, int n, void *buf)
constexpr int pid() const
struct thread_info * find_thread_ptid(ptid_t ptid)
struct regcache * new_register_cache(const struct target_desc *tdesc)
void set_thread_regcache_data(struct thread_info *thread, struct regcache *data)
void supply_register_by_name(struct regcache *regcache, const char *name, const void *buf)
CORE_ADDR regcache_read_pc(struct regcache *regcache)
void supply_register_zeroed(struct regcache *regcache, int n)
void warning(const char *fmt,...)
struct reg * find_register_by_number(const struct target_desc *tdesc, int n)
void regcache_release(void)
int bin2hex(const gdb_byte *bin, char *hex, int count)
void * memset(T *s, int c, size_t n)=delete
void internal_error(const char *file, int line, const char *fmt,...)
struct regcache * thread_regcache_data(struct thread_info *thread)
int regcache_register_size(const struct regcache *regcache, int n)
static void for_each_thread(Func func)
void regcache_write_pc(struct regcache *regcache, CORE_ADDR pc)
struct target_ops * the_target
const struct target_desc * tdesc
unsigned char * registers
static void free_register_cache_thread(struct thread_info *thread)
unsigned char * register_status
void collect_register_by_name(struct regcache *regcache, const char *name, void *buf)
void regcache_invalidate(void)
void collect_register_as_string(struct regcache *regcache, int n, char *buf)
#define gdb_assert_not_reached(message)
int register_size(const struct target_desc *tdesc, int n)
void regcache_cpy(struct regcache *dst, struct regcache *src)
int register_cache_size(const struct target_desc *tdesc)
enum register_status regcache_raw_read_unsigned(struct regcache *regcache, int regnum, ULONGEST *val)
std::vector< struct reg * > reg_defs
struct regcache * init_register_cache(struct regcache *regcache, const struct target_desc *tdesc, unsigned char *regbuf)
int find_regno(const struct target_desc *tdesc, const char *name)
#define fetch_inferior_registers(regcache, regno)
void regcache_invalidate_thread(struct thread_info *thread)
void registers_to_string(struct regcache *regcache, char *buf)
struct regcache * get_thread_regcache(struct thread_info *thread, int fetch)
void free_register_cache(struct regcache *regcache)
void regcache_invalidate_pid(int pid)
static unsigned char * register_data(struct regcache *regcache, int n, int fetch)
unsigned long long ULONGEST
int hex2bin(const char *hex, gdb_byte *bin, int count)
void supply_register(struct regcache *regcache, int n, const void *buf)
struct regcache * get_thread_regcache_for_ptid(ptid_t ptid)
PTR xcalloc(size_t number, size_t size)
#define store_inferior_registers(regcache, regno)
void(* write_pc)(struct regcache *regcache, CORE_ADDR pc)
void error(const char *fmt,...)
struct process_info * get_thread_process(const struct thread_info *thread)
void registers_from_string(struct regcache *regcache, char *buf)
void supply_regblock(struct regcache *regcache, const void *buf)