GDB (xrefs)
Classes | Typedefs | Functions | Variables
/tmp/gdb-8.1/gdb/regcache.c File Reference
#include "defs.h"
#include "inferior.h"
#include "target.h"
#include "gdbarch.h"
#include "gdbcmd.h"
#include "regcache.h"
#include "reggroups.h"
#include "observer.h"
#include "remote.h"
#include "valprint.h"
#include "regset.h"
#include <forward_list>

Go to the source code of this file.

Classes

struct  regcache_descr
 
class  regcache_invalidator
 

Typedefs

typedef void() regcache_read_ftype(struct regcache *regcache, int regnum, void *buf)
 
typedef void() regcache_write_ftype(struct regcache *regcache, int regnum, const void *buf)
 

Functions

static void * init_regcache_descr (struct gdbarch *gdbarch)
 
static struct regcache_descrregcache_descr (struct gdbarch *gdbarch)
 
struct typeregister_type (struct gdbarch *gdbarch, int regnum)
 
int register_size (struct gdbarch *gdbarch, int regnum)
 
int regcache_register_size (const struct regcache *regcache, int n)
 
static enum register_status do_cooked_read (void *src, int regnum, gdb_byte *buf)
 
ptid_t regcache_get_ptid (const struct regcache *regcache)
 
void regcache_save (struct regcache *regcache, regcache_cooked_read_ftype *cooked_read, void *src)
 
void regcache_cpy (struct regcache *dst, struct regcache *src)
 
struct regcacheregcache_dup (struct regcache *src)
 
enum register_status regcache_register_status (const struct regcache *regcache, int regnum)
 
void regcache_invalidate (struct regcache *regcache, int regnum)
 
struct regcacheget_thread_arch_aspace_regcache (ptid_t ptid, struct gdbarch *gdbarch, struct address_space *aspace)
 
struct regcacheget_thread_arch_regcache (ptid_t ptid, struct gdbarch *gdbarch)
 
struct regcacheget_thread_regcache (ptid_t ptid)
 
struct regcacheget_current_regcache (void)
 
struct regcacheget_thread_regcache_for_ptid (ptid_t ptid)
 
static void regcache_observer_target_changed (struct target_ops *target)
 
void registers_changed_ptid (ptid_t ptid)
 
void registers_changed (void)
 
void regcache_raw_update (struct regcache *regcache, int regnum)
 
enum register_status regcache_raw_read (struct regcache *regcache, int regnum, gdb_byte *buf)
 
enum register_status regcache_raw_read_signed (struct regcache *regcache, int regnum, LONGEST *val)
 
enum register_status regcache_raw_read_unsigned (struct regcache *regcache, int regnum, ULONGEST *val)
 
void regcache_raw_write_signed (struct regcache *regcache, int regnum, LONGEST val)
 
void regcache_raw_write_unsigned (struct regcache *regcache, int regnum, ULONGEST val)
 
LONGEST regcache_raw_get_signed (struct regcache *regcache, int regnum)
 
enum register_status regcache_cooked_read (struct regcache *regcache, int regnum, gdb_byte *buf)
 
struct valueregcache_cooked_read_value (struct regcache *regcache, int regnum)
 
enum register_status regcache_cooked_read_signed (struct regcache *regcache, int regnum, LONGEST *val)
 
enum register_status regcache_cooked_read_unsigned (struct regcache *regcache, int regnum, ULONGEST *val)
 
void regcache_cooked_write_signed (struct regcache *regcache, int regnum, LONGEST val)
 
void regcache_cooked_write_unsigned (struct regcache *regcache, int regnum, ULONGEST val)
 
void regcache_raw_set_cached_value (struct regcache *regcache, int regnum, const gdb_byte *buf)
 
void regcache_raw_write (struct regcache *regcache, int regnum, const gdb_byte *buf)
 
void regcache_cooked_write (struct regcache *regcache, int regnum, const gdb_byte *buf)
 
enum register_status regcache_raw_read_part (struct regcache *regcache, int regnum, int offset, int len, gdb_byte *buf)
 
void regcache_raw_write_part (struct regcache *regcache, int regnum, int offset, int len, const gdb_byte *buf)
 
enum register_status regcache_cooked_read_part (struct regcache *regcache, int regnum, int offset, int len, gdb_byte *buf)
 
void regcache_cooked_write_part (struct regcache *regcache, int regnum, int offset, int len, const gdb_byte *buf)
 
void regcache_raw_supply (struct regcache *regcache, int regnum, const void *buf)
 
void regcache_raw_collect (const struct regcache *regcache, int regnum, void *buf)
 
void regcache_supply_regset (const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
 
void regcache_collect_regset (const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
 
CORE_ADDR regcache_read_pc (struct regcache *regcache)
 
void regcache_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
static void reg_flush_command (const char *command, int from_tty)
 
static void regcache_print (const char *args, enum regcache_dump_what what_to_dump)
 
static void maintenance_print_registers (const char *args, int from_tty)
 
static void maintenance_print_raw_registers (const char *args, int from_tty)
 
static void maintenance_print_cooked_registers (const char *args, int from_tty)
 
static void maintenance_print_register_groups (const char *args, int from_tty)
 
static void maintenance_print_remote_registers (const char *args, int from_tty)
 
void _initialize_regcache (void)
 

Variables

struct gdbarch_dataregcache_descr_handle
 
static ptid_t current_thread_ptid
 
static struct gdbarchcurrent_thread_arch
 

Typedef Documentation

◆ regcache_read_ftype

typedef void() regcache_read_ftype(struct regcache *regcache, int regnum, void *buf)

Definition at line 894 of file regcache.c.

◆ regcache_write_ftype

typedef void() regcache_write_ftype(struct regcache *regcache, int regnum, const void *buf)

Definition at line 896 of file regcache.c.

Function Documentation

◆ _initialize_regcache()

void _initialize_regcache ( void  )

◆ do_cooked_read()

static enum register_status do_cooked_read ( void *  src,
int  regnum,
gdb_byte buf 
)
static

Definition at line 206 of file regcache.c.

References regcache_cooked_read(), and regnum.

Referenced by regcache::regcache().

◆ get_current_regcache()

struct regcache* get_current_regcache ( void  )

Definition at line 446 of file regcache.c.

References get_thread_regcache(), and inferior_ptid.

Referenced by arc_insn_get_branch_target(), arc_insn_get_operand_value(), arc_insn_get_operand_value_signed(), bookmark_1(), BP_MANIPULATION(), bsd_kvm_open(), bsd_kvm_pcb_cmd(), bsd_kvm_proc_cmd(), call_function_by_hand_dummy(), core_open(), create_new_frame(), current_me_module(), current_options(), darwin_read_exec_load_addr_at_init(), darwin_solib_get_all_image_info_addr_at_init(), fork_load_infrun_state(), fork_save_infrun_state(), frame_pop(), frv_fdpic_loadmap_addresses(), generic_load(), get_call_return_value(), get_current_frame(), get_return_value(), get_traceframe_location(), handle_inferior_event_1(), handle_segmentation_fault(), handle_signal_stop(), i386_mpx_bd_base(), i386fbsd_resume(), ia64_linux_stopped_data_address(), info_checkpoints_command(), insert_single_step_breakpoints(), keep_going_pass_signal(), m32c_virtual_frame_pointer(), mi_cmd_data_write_register_values(), post_create_inferior(), proceed(), procfs_make_note_section(), put_frame_register(), record_btrace_set_replay(), record_full_core_open_1(), record_full_goto_entry(), record_full_goto_insn(), record_full_restore(), record_full_resume(), record_full_save(), record_full_wait_1(), regcache_print(), restore_infcall_suspend_state(), resume_1(), return_command(), run_command_1(), save_bookmark_command(), save_infcall_suspend_state(), svr4_handle_solib_event(), tfind_pc_command(), windows_resume(), xtensa_read_register(), and xtensa_write_register().

◆ get_thread_arch_aspace_regcache()

struct regcache* get_thread_arch_aspace_regcache ( ptid_t  ptid,
struct gdbarch gdbarch,
struct address_space aspace 
)

◆ get_thread_arch_regcache()

struct regcache* get_thread_arch_regcache ( ptid_t  ptid,
struct gdbarch gdbarch 
)

◆ get_thread_regcache()

struct regcache* get_thread_regcache ( ptid_t  ptid)

◆ get_thread_regcache_for_ptid()

struct regcache* get_thread_regcache_for_ptid ( ptid_t  ptid)

Definition at line 454 of file regcache.c.

References get_thread_regcache(), and regcache::ptid().

Referenced by aarch64_point_is_aligned().

◆ init_regcache_descr()

static void* init_regcache_descr ( struct gdbarch gdbarch)
static

◆ maintenance_print_cooked_registers()

static void maintenance_print_cooked_registers ( const char *  args,
int  from_tty 
)
static

Definition at line 1591 of file regcache.c.

References regcache_dump_cooked, and regcache_print().

Referenced by _initialize_regcache().

◆ maintenance_print_raw_registers()

static void maintenance_print_raw_registers ( const char *  args,
int  from_tty 
)
static

Definition at line 1585 of file regcache.c.

References regcache_dump_raw, and regcache_print().

Referenced by _initialize_regcache().

◆ maintenance_print_register_groups()

static void maintenance_print_register_groups ( const char *  args,
int  from_tty 
)
static

Definition at line 1597 of file regcache.c.

References regcache_dump_groups, and regcache_print().

Referenced by _initialize_regcache().

◆ maintenance_print_registers()

static void maintenance_print_registers ( const char *  args,
int  from_tty 
)
static

Definition at line 1579 of file regcache.c.

References regcache_dump_none, and regcache_print().

Referenced by _initialize_regcache().

◆ maintenance_print_remote_registers()

static void maintenance_print_remote_registers ( const char *  args,
int  from_tty 
)
static

Definition at line 1603 of file regcache.c.

References regcache_dump_remote, and regcache_print().

Referenced by _initialize_regcache().

◆ reg_flush_command()

static void reg_flush_command ( const char *  command,
int  from_tty 
)
static

Definition at line 1316 of file regcache.c.

References _, printf_filtered(), and registers_changed().

Referenced by _initialize_regcache().

◆ regcache_collect_regset()

void regcache_collect_regset ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  buf,
size_t  size 
)

Definition at line 1211 of file regcache.c.

References regcache::collect_regset(), regnum, and size.

Referenced by fill_fpregset(), fill_gregset(), and store_regset().

◆ regcache_cooked_read()

enum register_status regcache_cooked_read ( struct regcache regcache,
int  regnum,
gdb_byte buf 
)

◆ regcache_cooked_read_part()

enum register_status regcache_cooked_read_part ( struct regcache regcache,
int  regnum,
int  offset,
int  len,
gdb_byte buf 
)

◆ regcache_cooked_read_signed()

enum register_status regcache_cooked_read_signed ( struct regcache regcache,
int  regnum,
LONGEST val 
)

Definition at line 751 of file regcache.c.

References regcache::cooked_read(), gdb_assert, and regnum.

Referenced by arc_insn_get_operand_value_signed(), and mips_read_pc().

◆ regcache_cooked_read_unsigned()

enum register_status regcache_cooked_read_unsigned ( struct regcache regcache,
int  regnum,
ULONGEST val 
)

Definition at line 777 of file regcache.c.

References regcache::cooked_read(), gdb_assert, and regnum.

Referenced by aarch64_displaced_step_fixup(), alpha_extract_return_value(), amd64_displaced_step_fixup(), arc_extract_return_value(), arc_insn_get_branch_target(), arc_insn_get_operand_value(), arc_write_pc(), arm_extract_return_value(), arm_linux_cleanup_svc(), arm_linux_get_syscall_number(), arm_linux_sigreturn_next_pc(), arm_write_pc(), avr_read_pc(), bfin_extract_return_value(), BP_MANIPULATION(), bx_write_pc(), cris_extract_return_value(), current_me_module(), current_options(), darwin_read_exec_load_addr_at_init(), displaced_in_arm_mode(), displaced_read_reg(), do_ppc_sysv_return_value(), enable_watchpoints_in_psr(), find_func_descr(), fixup_riprel(), frv_extract_return_value(), frv_fdpic_loadmap_addresses(), ft32_extract_return_value(), ft32_read_pc(), h8300_extract_return_value(), h8300h_extract_return_value(), hppa_read_pc(), i386_displaced_step_fixup(), i386_linux_resume(), i386fbsd_resume(), ia64_allocate_new_rse_frame(), ia64_extract_return_value(), ia64_linux_stopped_data_address(), ia64_pseudo_register_read(), ia64_pseudo_register_write(), ia64_push_dummy_call(), ia64_read_pc(), ia64_write_pc(), iq2000_extract_return_value(), lm32_extract_return_value(), m32c_return_value(), m32r_extract_return_value(), m32r_read_pc(), m68hc11_pseudo_register_read(), mep_read_pc(), mn10300_read_pc(), moxie_extract_return_value(), moxie_read_pc(), moxie_software_single_step(), msp430_return_value(), mt_pseudo_register_read(), mt_return_value(), nds32_extract_return_value(), or1k_return_value(), parse_spufs_run(), ppc64_sysv_abi_push_dummy_call(), ppc64_sysv_abi_return_value_base(), ppc_displaced_step_fixup(), ppc_sysv_abi_push_dummy_call(), regcache_read_pc(), rl78_return_value(), rs6000_lynx178_push_dummy_call(), rs6000_lynx178_return_value(), rs6000_push_dummy_call(), rs6000_return_value(), rx_return_value(), s390_displaced_step_fixup(), s390_linux_get_syscall_number(), s390_push_dummy_call(), s390_supply_tdb_regset(), sh_extract_return_value_nofpu(), sparc32_return_value(), sparc32_supply_gregset(), sparc64_linux_write_pc(), sparc64_supply_gregset(), sparc_linux_write_pc(), sparc_ravenscar_fetch_registers(), sparc_ravenscar_store_registers(), sparc_store_inferior_registers(), spu_read_pc(), spu_software_single_step(), spu_write_pc(), v850_extract_return_value(), xtensa_register_read_masked(), and xtensa_register_write_masked().

◆ regcache_cooked_read_value()

struct value* regcache_cooked_read_value ( struct regcache regcache,
int  regnum 
)

Definition at line 714 of file regcache.c.

References regcache::cooked_read_value(), and regnum.

Referenced by sentinel_frame_prev_register().

◆ regcache_cooked_write()

void regcache_cooked_write ( struct regcache regcache,
int  regnum,
const gdb_byte buf 
)

Definition at line 873 of file regcache.c.

References regcache::cooked_write(), and regnum.

Referenced by aarch64_store_return_value(), alpha_push_dummy_call(), alpha_store_return_value(), amd64_push_dummy_call(), amd64_windows_push_dummy_call(), amd64_windows_store_arg_in_reg(), arc_push_dummy_call(), arm_push_dummy_call(), arm_return_value(), arm_store_return_value(), bfin_store_return_value(), BP_MANIPULATION(), cris_push_dummy_call(), do_ppc_sysv_return_value(), frv_store_return_value(), get_decimal_float_return_value(), hppa32_push_dummy_call(), hppa32_return_value(), i386_darwin_push_dummy_call(), i386_push_dummy_call(), ia64_push_dummy_call(), ia64_store_return_value(), m32c_cat_write(), m32c_push_dummy_call(), m32c_r3r2r1r0_write(), m68k_push_dummy_call(), m88k_return_value(), microblaze_store_return_value(), mt_return_value(), nds32_push_dummy_call(), nds32_store_return_value(), nios2_store_return_value(), or1k_return_value(), pass_in_v(), ppc64_sysv_abi_push_freg(), ppc64_sysv_abi_push_val(), ppc64_sysv_abi_push_vreg(), ppc64_sysv_abi_return_value(), ppc64_sysv_abi_return_value_base(), ppc_sysv_abi_push_dummy_call(), put_frame_register(), record_full_exec_insn(), rs6000_lynx178_push_dummy_call(), rs6000_lynx178_return_value(), rs6000_push_dummy_call(), rs6000_return_value(), s390_handle_arg(), s390_register_return_value(), sh64_push_dummy_call(), sparc32_store_arguments(), sparc32_store_return_value(), sparc64_store_arguments(), sparc64_store_floating_fields(), sparc64_store_return_value(), spu_push_dummy_call(), spu_value_to_regcache(), tic6x_push_dummy_call(), tic6x_store_return_value(), vax_push_dummy_call(), vax_return_value(), vax_store_arguments(), and xtensa_push_dummy_call().

◆ regcache_cooked_write_part()

void regcache_cooked_write_part ( struct regcache regcache,
int  regnum,
int  offset,
int  len,
const gdb_byte buf 
)

◆ regcache_cooked_write_signed()

void regcache_cooked_write_signed ( struct regcache regcache,
int  regnum,
LONGEST  val 
)

◆ regcache_cooked_write_unsigned()

void regcache_cooked_write_unsigned ( struct regcache regcache,
int  regnum,
ULONGEST  val 
)

Definition at line 806 of file regcache.c.

References regcache::cooked_write(), gdb_assert, and regnum.

Referenced by aarch64_displaced_step_adr(), aarch64_displaced_step_b(), aarch64_displaced_step_fixup(), aarch64_displaced_step_ldr_literal(), aarch64_push_dummy_call(), alpha_store_return_value(), amd64_displaced_step_fixup(), amd64_linux_write_pc(), arc_push_dummy_call(), arc_store_return_value(), arc_write_pc(), arm_displaced_step_fixup(), arm_push_dummy_call(), arm_write_pc(), avr_push_dummy_call(), avr_write_pc(), bfin_push_dummy_call(), BP_MANIPULATION(), branch_write_pc(), bx_write_pc(), cris_push_dummy_call(), cris_store_return_value(), displaced_write_reg(), do_ppc_sysv_return_value(), enable_watchpoints_in_psr(), fixup_riprel(), frv_push_dummy_call(), ft32_store_return_value(), ft32_write_pc(), h8300_push_dummy_call(), h8300_store_return_value(), h8300h_store_return_value(), hppa32_push_dummy_call(), hppa64_push_dummy_call(), hppa_linux_target_write_pc(), hppa_write_pc(), i386_displaced_step_fixup(), i386_linux_write_pc(), i386fbsd_resume(), ia64_allocate_new_rse_frame(), ia64_linux_stopped_data_address(), ia64_linux_write_pc(), ia64_pseudo_register_write(), ia64_push_dummy_call(), ia64_store_return_value(), ia64_write_pc(), iq2000_push_dummy_call(), lm32_store_return_value(), m32c_push_dummy_call(), m32c_return_value(), m32r_push_dummy_call(), m32r_store_return_value(), m68hc11_pseudo_register_write(), m68hc11_push_dummy_call(), m88k_write_pc(), mep_push_dummy_call(), microblaze_write_pc(), mips_eabi_push_dummy_call(), mips_linux_write_pc(), mips_n32n64_push_dummy_call(), mips_o32_push_dummy_call(), mips_o64_push_dummy_call(), mips_write_pc(), mn10300_push_dummy_call(), mn10300_write_pc(), moxie_store_return_value(), moxie_write_pc(), msp430_push_dummy_call(), msp430_return_value(), mt_pseudo_register_write(), mt_push_dummy_call(), nds32_push_dummy_call(), nds32_store_return_value(), nios2_push_dummy_call(), or1k_push_dummy_call(), pass_in_x(), ppc64_sysv_abi_push_dummy_call(), ppc64_sysv_abi_return_value_base(), ppc_displaced_step_fixup(), ppc_linux_write_pc(), ppc_sysv_abi_push_dummy_call(), regcache_write_pc(), rl78_push_dummy_call(), rl78_return_value(), rs6000_lynx178_return_value(), rs6000_return_value(), rx_push_dummy_call(), rx_return_value(), s390_displaced_step_fixup(), s390_handle_arg(), s390_push_dummy_call(), s390_register_return_value(), s390_write_pc(), score_push_dummy_call(), sh64_push_dummy_call(), sh_push_dummy_call_fpu(), sh_push_dummy_call_nofpu(), sh_store_return_value_nofpu(), sparc32_push_dummy_call(), sparc64_linux_write_pc(), sparc64_push_dummy_call(), sparc64_store_arguments(), sparc_linux_write_pc(), sparc_write_pc(), spu_write_pc(), tic6x_push_dummy_call(), tilegx_push_dummy_call(), tilegx_write_pc(), v850_push_dummy_call(), v850_store_return_value(), vax_push_dummy_call(), xstormy16_push_dummy_call(), xtensa_push_dummy_call(), and xtensa_register_write_masked().

◆ regcache_cpy()

void regcache_cpy ( struct regcache dst,
struct regcache src 
)

◆ regcache_descr()

static struct regcache_descr* regcache_descr ( struct gdbarch gdbarch)
static

Definition at line 142 of file regcache.c.

References gdbarch_data(), and regcache_descr_handle.

Referenced by regcache::regcache(), register_size(), and register_type().

◆ regcache_dup()

struct regcache* regcache_dup ( struct regcache src)

◆ regcache_get_ptid()

ptid_t regcache_get_ptid ( const struct regcache regcache)

Definition at line 229 of file regcache.c.

References gdb_assert, minus_one_ptid, regcache::ptid(), and ptid_equal().

Referenced by aarch64_fbsd_fetch_inferior_registers(), aarch64_fbsd_store_inferior_registers(), aix_thread_fetch_registers(), aix_thread_store_registers(), alphabsd_fetch_inferior_registers(), alphabsd_store_inferior_registers(), amd64_linux_fetch_inferior_registers(), amd64_linux_store_inferior_registers(), amd64bsd_fetch_inferior_registers(), amd64bsd_store_inferior_registers(), arm_fbsd_fetch_inferior_registers(), arm_fbsd_store_inferior_registers(), bsd_uthread_fetch_registers(), bsd_uthread_store_registers(), fetch_fp_register(), fetch_fp_regs(), fetch_fpregs(), fetch_fpregs_from_thread(), fetch_gregs(), fetch_gregs_from_thread(), fetch_inferior_registers(), fetch_register(), fetch_regs(), fetch_vfp_regs(), fetch_wmmx_regs(), fetch_xtregs(), gdbsim_fetch_register(), gdbsim_store_register(), gnu_fetch_registers(), gnu_store_registers(), hppanbsd_fetch_registers(), hppanbsd_store_registers(), hppaobsd_fetch_registers(), i386_darwin_fetch_inferior_registers(), i386_darwin_store_inferior_registers(), i386_linux_fetch_inferior_registers(), i386_linux_store_inferior_registers(), i386bsd_fetch_inferior_registers(), i386bsd_store_inferior_registers(), ia64_linux_fetch_register(), ia64_linux_store_register(), inf_ptrace_fetch_register(), inf_ptrace_store_register(), m32r_linux_fetch_inferior_registers(), m32r_linux_store_inferior_registers(), m68k_linux_fetch_inferior_registers(), m68k_linux_store_inferior_registers(), m68kbsd_fetch_inferior_registers(), m68kbsd_store_inferior_registers(), m88kbsd_fetch_inferior_registers(), m88kbsd_store_inferior_registers(), mips64_linux_regsets_fetch_registers(), mips64_linux_regsets_store_registers(), mips64obsd_fetch_inferior_registers(), mips64obsd_store_inferior_registers(), mips_fbsd_fetch_inferior_registers(), mips_fbsd_store_inferior_registers(), mipsnbsd_fetch_inferior_registers(), mipsnbsd_store_inferior_registers(), ppc_linux_fetch_inferior_registers(), ppc_linux_store_inferior_registers(), ppcfbsd_fetch_inferior_registers(), ppcfbsd_store_inferior_registers(), ppcnbsd_fetch_inferior_registers(), ppcnbsd_store_inferior_registers(), ppcobsd_fetch_registers(), ppcobsd_store_registers(), procfs_fetch_registers(), procfs_store_registers(), ravenscar_fetch_registers(), ravenscar_prepare_to_store(), ravenscar_store_registers(), record_btrace_fetch_registers(), record_btrace_prepare_to_store(), record_btrace_store_registers(), remote_fetch_registers(), remote_store_registers(), s390_linux_fetch_inferior_registers(), s390_linux_store_inferior_registers(), shnbsd_fetch_inferior_registers(), shnbsd_store_inferior_registers(), sol_thread_fetch_registers(), sol_thread_store_registers(), sparc_fetch_inferior_registers(), sparc_store_inferior_registers(), spu_fetch_inferior_registers(), spu_fetch_registers(), spu_store_inferior_registers(), spu_store_registers(), store_fp_register(), store_fp_regs(), store_fpregs(), store_fpregs_to_thread(), store_gregs(), store_gregs_to_thread(), store_inferior_registers(), store_register(), store_regs(), store_vfp_regs(), store_wmmx_regs(), store_xtregs(), vaxbsd_fetch_inferior_registers(), vaxbsd_store_inferior_registers(), windows_fetch_inferior_registers(), and windows_store_inferior_registers().

◆ regcache_invalidate()

void regcache_invalidate ( struct regcache regcache,
int  regnum 
)

◆ regcache_observer_target_changed()

static void regcache_observer_target_changed ( struct target_ops target)
static

Definition at line 462 of file regcache.c.

References registers_changed().

Referenced by _initialize_regcache().

◆ regcache_print()

static void regcache_print ( const char *  args,
enum regcache_dump_what  what_to_dump 
)
static

◆ regcache_raw_collect()

void regcache_raw_collect ( const struct regcache regcache,
int  regnum,
void *  buf 
)

Definition at line 1085 of file regcache.c.

References gdb_assert, regcache::raw_collect(), and regnum.

Referenced by aarch32_gp_regcache_collect(), aarch32_vfp_regcache_collect(), alpha_fill_fp_regs(), alpha_fill_int_regs(), am33_collect_fpregset_method(), am33_collect_gregset_method(), amd64_collect_fxsave(), amd64_collect_native_gregset(), amd64_collect_xsave(), amd64_linux_store_inferior_registers(), amd64bsd_store_inferior_registers(), amd64obsd_collect_uthread(), arm_linux_collect_gregset(), arm_linux_collect_nwfpe(), arm_linux_collect_vfp(), collect_nwfpe_register(), do_windows_store_inferior_registers(), fill_fpregset(), fill_fprs(), fill_gprs32(), fill_gprs64(), fill_gregset(), fill_sprs32(), fill_sprs64(), fill_vrregset(), fill_vsxregset(), gnu_store_registers(), hppanbsd_collect_fpregset(), hppanbsd_collect_gregset(), hppaobsd_collect_fpregset(), hppaobsd_collect_gregset(), i386_collect_gregset(), i386_darwin_store_inferior_registers(), i386bsd_collect_gregset(), i386nto_regset_fill(), i386obsd_collect_uthread(), i387_collect_fsave(), i387_collect_fxsave(), i387_collect_xsave(), ia64_linux_store_register(), inf_ptrace_store_register(), m32r_linux_collect_gregset(), m68kbsd_collect_fpregset(), m68kbsd_collect_gregset(), m88kbsd_collect_gregset(), mips64_fill_fpregset(), mips64obsd_collect_gregset(), mips_fill_fpregset(), mips_fill_gregset(), mipsnbsd_fill_fpreg(), mipsnbsd_fill_reg(), nios2_collect_gregset(), ppc_collect_reg(), ppc_ravenscar_generic_store_registers(), procfs_store_registers(), record_full_core_open_1(), record_full_core_store_registers(), sh_corefile_collect_regset(), sparc32_collect_fpregset(), sparc32_collect_gregset(), sparc32obsd_collect_uthread(), sparc64_collect_fpregset(), sparc64_collect_gregset(), sparc64obsd_collect_uthread(), sparc_collect_rwindow(), sparc_ravenscar_store_registers(), spu_store_inferior_registers(), spu_store_registers(), store_altivec_register(), store_fp_register(), store_fp_regs(), store_fpregs(), store_fpregs_to_thread(), store_gregs_to_thread(), store_register(), store_register_using_P(), store_registers_using_G(), store_regs(), store_regs_kernel_thread(), store_regs_user_thread(), store_spe_register(), store_vsx_register(), store_wmmx_regs(), store_xtregs(), and vaxbsd_collect_gregset().

◆ regcache_raw_get_signed()

LONGEST regcache_raw_get_signed ( struct regcache regcache,
int  regnum 
)

◆ regcache_raw_read()

enum register_status regcache_raw_read ( struct regcache regcache,
int  regnum,
gdb_byte buf 
)

Definition at line 565 of file regcache.c.

References regcache::raw_read(), and regnum.

Referenced by aarch64_pseudo_read_value(), amd64_pseudo_register_read_value(), amd64_pseudo_register_write(), amd64_return_value(), arm_neon_quad_read(), arm_pseudo_read(), arm_pseudo_write(), bfin_pseudo_register_read(), bfin_pseudo_register_write(), dfp_pseudo_register_read(), do_regcache_raw_read(), frv_pseudo_register_read(), frv_pseudo_register_write(), h8300_pseudo_register_read(), i386_extract_return_value(), i386_pseudo_register_read_into_value(), i386_pseudo_register_write(), jit_frame_prev_register(), m32c_banked_read(), m32c_raw_read(), m68hc11_extract_return_value(), m68k_extract_return_value(), m68k_svr4_extract_return_value(), mep_pseudo_cr32_read(), mep_pseudo_cr64_read(), mep_pseudo_register_read(), mips_pseudo_register_read(), mn10300_extract_return_value(), moxie_process_record(), moxie_software_single_step(), mt_pseudo_register_read(), mt_select_coprocessor(), nds32_pseudo_register_read(), nds32_pseudo_register_write(), ppu2spu_prev_register(), pseudo_register_read_portions(), record_full_arch_list_add_reg(), rl78_pseudo_register_read(), s390_pseudo_register_read(), s390_record_calc_disp_vsce(), sh64_extract_return_value(), sh64_pseudo_register_read(), sh64_pseudo_register_write(), sh_extract_return_value_fpu(), sh_extract_return_value_nofpu(), sh_pseudo_register_read(), sparc32_pseudo_register_read(), sparc64_pseudo_register_read(), spu_pseudo_register_read(), spu_pseudo_register_write(), tilegx_extract_return_value(), v850_extract_return_value(), vsx_pseudo_register_read(), xstormy16_extract_return_value(), xtensa_extract_return_value(), xtensa_pseudo_register_read(), and xtensa_push_dummy_call().

◆ regcache_raw_read_part()

enum register_status regcache_raw_read_part ( struct regcache regcache,
int  regnum,
int  offset,
int  len,
gdb_byte buf 
)

◆ regcache_raw_read_signed()

enum register_status regcache_raw_read_signed ( struct regcache regcache,
int  regnum,
LONGEST val 
)

◆ regcache_raw_read_unsigned()

enum register_status regcache_raw_read_unsigned ( struct regcache regcache,
int  regnum,
ULONGEST val 
)

Definition at line 612 of file regcache.c.

References gdb_assert, regcache::raw_read(), and regnum.

Referenced by aarch64_record_asimd_load_store(), aarch64_record_branch_except_sys(), aarch64_record_load_store(), alpha_return_value(), amd64_linux_record_signal(), amd64_linux_syscall_record_common(), amd64_return_value(), amd64_windows_return_value(), arm_process_record(), arm_record_coproc_data_proc(), arm_record_data_proc_misc_ld_str(), arm_record_exreg_ld_st_insn(), arm_record_extension_space(), arm_record_ld_st_imm_offset(), arm_record_ld_st_multiple(), arm_record_ld_st_reg_offset(), arm_record_strx(), avr_pseudo_register_read(), h8300h_return_value(), hppa_pseudo_register_read(), i386_linux_record_signal(), i386_mmx_regnum_to_fp_regnum(), i386_mpx_bd_base(), i386_process_record(), i386_record_lea_modrm_addr(), i386_record_push(), i386_return_value(), i386_store_return_value(), i387_return_value(), m32c_read_flg(), m68k_return_value(), m68k_svr4_return_value(), mep_pseudo_csr_write(), mep_return_value(), msp430_pseudo_register_read(), ppc_linux_record_signal(), ppc_linux_syscall_record(), ppc_process_record(), ppc_process_record_op31(), ppc_process_record_op61(), pseudo_from_raw_register(), record_linux_system_call(), record_mem_at_reg(), regcache_raw_get_unsigned(), rl78_pseudo_register_read(), rl78_pseudo_register_write(), s390_linux_record_signal(), s390_process_record(), s390_pseudo_register_read(), s390_pseudo_register_write(), s390_record_address_mask(), s390_record_calc_disp(), s390_record_calc_disp_common(), sparc64_pseudo_register_read(), sparc64_pseudo_register_write(), spu_pseudo_register_read(), spu_pseudo_register_read_spu(), spu_pseudo_register_write(), spu_pseudo_register_write_spu(), thumb2_record_asimd_struct_ld_st(), thumb2_record_ld_st_dual_ex_tbb(), thumb2_record_ld_st_multiple(), thumb2_record_str_single_data(), thumb_record_ld_st_imm_offset(), thumb_record_ld_st_reg_offset(), thumb_record_ld_st_stack(), thumb_record_ldm_stm_swi(), thumb_record_misc(), vax_return_value(), xtensa_extract_return_value(), xtensa_pseudo_register_read(), xtensa_pseudo_register_write(), xtensa_push_dummy_call(), xtensa_read_register(), and xtensa_store_return_value().

◆ regcache_raw_set_cached_value()

void regcache_raw_set_cached_value ( struct regcache regcache,
int  regnum,
const gdb_byte buf 
)

Definition at line 816 of file regcache.c.

References regcache::raw_set_cached_value(), and regnum.

Referenced by jit_unwind_reg_set_impl().

◆ regcache_raw_supply()

void regcache_raw_supply ( struct regcache regcache,
int  regnum,
const void *  buf 
)

Definition at line 1004 of file regcache.c.

References gdb_assert, regcache::raw_supply(), and regnum.

Referenced by aarch32_gp_regcache_supply(), aarch32_vfp_regcache_supply(), alpha_supply_fp_regs(), alpha_supply_int_regs(), alphabsd_supply_pcb(), alphanbsd_aout_supply_gregset(), alphanbsd_supply_fpregset(), alphanbsd_supply_gregset(), am33_supply_fpregset_method(), am33_supply_gregset_method(), amd64_linux_fetch_inferior_registers(), amd64_supply_fxsave(), amd64_supply_native_gregset(), amd64_supply_xsave(), amd64bsd_fetch_inferior_registers(), amd64fbsd_supply_pcb(), amd64obsd_supply_pcb(), amd64obsd_supply_uthread(), arm_linux_supply_gregset(), arm_linux_supply_nwfpe(), arm_linux_supply_vfp(), arm_supply_fparegset(), arm_supply_gregset(), armbsd_supply_fpregset(), armbsd_supply_gregset(), cris_supply_gregset(), default_guess_tracepoint_registers(), do_windows_fetch_inferior_registers(), fetch_altivec_register(), fetch_fp_register(), fetch_fpregs(), fetch_fpregs_from_thread(), fetch_gregs_from_thread(), fetch_register(), fetch_register_using_p(), fetch_regs_kernel_thread(), fetch_spe_register(), fetch_vsx_register(), fetch_wmmx_regs(), fetch_xtregs(), get_core_registers(), gnu_fetch_registers(), gnu_store_registers(), hppanbsd_supply_fpregset(), hppanbsd_supply_gregset(), hppaobsd_supply_fpregset(), hppaobsd_supply_gregset(), i386_darwin_fetch_inferior_registers(), i386_supply_gregset(), i386bsd_supply_gregset(), i386fbsd_supply_pcb(), i386nbsd_supply_pcb(), i386obsd_supply_pcb(), i386obsd_supply_uthread(), i387_supply_fsave(), i387_supply_fxsave(), i387_supply_xsave(), ia64_linux_fetch_register(), ia64_linux_supply_fpregset(), inf_child_fetch_inferior_registers(), inf_ptrace_fetch_register(), m32r_linux_supply_gregset(), m68kbsd_supply_fpregset(), m68kbsd_supply_gregset(), m68kbsd_supply_pcb(), m88k_supply_gregset(), m88kbsd_supply_gregset(), mips64_supply_fpregset(), mips64obsd_supply_gregset(), mips_supply_fpregset(), mipsnbsd_supply_fpreg(), mipsnbsd_supply_fpregset(), mipsnbsd_supply_gregset(), mipsnbsd_supply_reg(), nios2_supply_gregset(), ppc_supply_reg(), ppcfbsd_supply_pcb(), ppcnbsd_supply_pcb(), ppcobsd_supply_pcb(), process_g_packet(), process_stop_reply(), record_btrace_fetch_registers(), record_full_core_fetch_registers(), remote_fetch_registers(), s390_guess_tracepoint_registers(), score7_linux_supply_gregset(), sh_corefile_supply_regset(), sparc32_supply_fpregset(), sparc32_supply_gregset(), sparc32nbsd_supply_pcb(), sparc32obsd_supply_uthread(), sparc64_supply_fpregset(), sparc64_supply_gregset(), sparc64fbsd_kvm_supply_pcb(), sparc64nbsd_supply_pcb(), sparc64obsd_supply_pcb(), sparc64obsd_supply_uthread(), sparc_fetch_inferior_registers(), sparc_supply_rwindow(), spu_fetch_inferior_registers(), spu_fetch_registers(), supply_64bit_reg(), supply_fpregset(), supply_fprs(), supply_gprs64(), supply_gregset(), supply_gregset_reg(), supply_nwfpe_register(), supply_reg32(), supply_register_at_address(), supply_sprs32(), supply_sprs64(), supply_vrregset(), supply_vsxregset(), tfile_fetch_registers(), tracefile_fetch_registers(), vax_supply_gregset(), vaxbsd_supply_gregset(), vaxbsd_supply_pcb(), and xtensa_supply_gregset().

◆ regcache_raw_update()

void regcache_raw_update ( struct regcache regcache,
int  regnum 
)

Definition at line 535 of file regcache.c.

References gdb_assert, regcache::raw_update(), and regnum.

Referenced by remote_prepare_to_store().

◆ regcache_raw_write()

void regcache_raw_write ( struct regcache regcache,
int  regnum,
const gdb_byte buf 
)

◆ regcache_raw_write_part()

void regcache_raw_write_part ( struct regcache regcache,
int  regnum,
int  offset,
int  len,
const gdb_byte buf 
)

◆ regcache_raw_write_signed()

void regcache_raw_write_signed ( struct regcache regcache,
int  regnum,
LONGEST  val 
)

◆ regcache_raw_write_unsigned()

void regcache_raw_write_unsigned ( struct regcache regcache,
int  regnum,
ULONGEST  val 
)

◆ regcache_read_pc()

CORE_ADDR regcache_read_pc ( struct regcache regcache)

Definition at line 1229 of file regcache.c.

References _, regcache::arch(), gdbarch_addr_bits_remove(), gdbarch_pc_regnum(), gdbarch_read_pc(), gdbarch_read_pc_p(), internal_error(), NOT_AVAILABLE_ERROR, REG_UNAVAILABLE, regcache_cooked_read_unsigned(), and throw_error().

Referenced by aarch64_software_single_step(), adjust_pc_after_break(), aix_thread_wait(), alpha_software_single_step(), arm_breakpoint_kind_from_current_state(), arm_deal_with_atomic_sequence_raw(), arm_get_next_pcs_raw(), arm_linux_get_next_pcs_fixup(), arm_linux_get_next_pcs_syscall_next_pc(), btrace_add_pc(), cancel_breakpoint(), darwin_solib_get_all_image_info_addr_at_init(), default_skip_permanent_breakpoint(), displaced_step_fixup(), displaced_step_prepare_throw(), do_target_wait(), enable_break(), finish_step_over(), fork_load_infrun_state(), get_traceframe_location(), handle_inferior_event_1(), handle_signal_stop(), handle_syscall_event(), info_checkpoints_command(), keep_going_pass_signal(), keep_going_stepped_thread(), linux_nat_wait_1(), linux_resume_one_lwp_throw(), mips_software_single_step(), moxie_software_single_step(), nios2_software_single_step(), parse_spufs_run(), post_create_inferior(), ppc_deal_with_atomic_sequence(), proceed(), record_btrace_set_replay(), record_full_goto_entry(), record_full_message(), record_full_wait_1(), resume_1(), resume_stopped_resumed_lwps(), rs6000_software_single_step(), run_command_1(), s390_displaced_step_fixup(), s390_software_single_step(), save_bookmark_command(), save_stop_reason(), save_waitstatus(), spu_software_single_step(), status_callback(), stop_all_threads(), svr4_handle_solib_event(), switch_to_thread(), tfind_pc_command(), thread_still_needs_step_over_bp(), thumb_deal_with_atomic_sequence_raw(), thumb_get_next_pcs_raw(), tic6x_software_single_step(), and VEC().

◆ regcache_register_size()

int regcache_register_size ( const struct regcache regcache,
int  n 
)

Definition at line 179 of file regcache.c.

References regcache::arch(), and register_size().

Referenced by aarch64_point_is_aligned().

◆ regcache_register_status()

enum register_status regcache_register_status ( const struct regcache regcache,
int  regnum 
)

◆ regcache_save()

void regcache_save ( struct regcache regcache,
regcache_cooked_read_ftype cooked_read,
void *  src 
)

Definition at line 276 of file regcache.c.

References regcache::cooked_read(), and regcache::save().

Referenced by frame_save_as_regcache(), and ppu2spu_sniffer().

◆ regcache_supply_regset()

void regcache_supply_regset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  buf,
size_t  size 
)

◆ regcache_write_pc()

void regcache_write_pc ( struct regcache regcache,
CORE_ADDR  pc 
)

◆ register_size()

int register_size ( struct gdbarch gdbarch,
int  regnum 
)

Definition at line 164 of file regcache.c.

References gdb_assert, gdbarch_num_pseudo_regs(), gdbarch_num_regs(), regcache_descr(), regnum, size, and regcache_descr::sizeof_register.

Referenced by alpha_value_to_register(), amd64_pseudo_register_read_value(), amd64_pseudo_register_write(), check_for_saved(), collection_list::collect_symbol(), regcache::debug_print_register(), default_guess_tracepoint_registers(), default_value_from_register(), efpr_pseudo_register_read(), efpr_pseudo_register_write(), fetch_altivec_register(), fetch_register(), fetch_register_using_p(), fetch_spe_register(), fetch_vsx_register(), fill_sprs32(), fill_sprs64(), fill_vrregset(), fill_vsxregset(), pv_area::find_reg(), frame_unwind_got_bytes(), frame_unwind_got_constant(), frame_unwind_register_signed(), frame_unwind_register_unsigned(), frame_unwind_register_value(), gdbsim_fetch_register(), gdbsim_store_register(), get_frame_register_bytes(), gnu_store_registers(), hppa_frame_prev_register_helper(), i386_extract_return_value(), i386_fast_tracepoint_valid_at(), i386_pseudo_register_read_into_value(), i386_pseudo_register_write(), i386_register_to_value(), i386_store_return_value(), i386_value_to_register(), i387_register_to_value(), ia64_frame_prev_register(), ia64_linux_fetch_register(), ia64_linux_store_register(), ia64_pseudo_register_read(), ia64_pseudo_register_write(), ia64_register_to_value(), inf_ptrace_fetch_register(), inf_ptrace_store_register(), info_frame_command(), jit_frame_prev_register(), jit_unwind_reg_get_impl(), libunwind_get_reg_special(), m32r_push_dummy_call(), m68k_register_to_value(), map_regcache_remote_table(), mep_pseudo_csr_write(), mips2_fp_compat(), mips64_fill_fpregset(), mips64_supply_fpregset(), mips_ax_pseudo_register_push_stack(), mips_convert_register_float_case_p(), mips_convert_register_gpreg_case_p(), mips_linux_get_syscall_number(), mips_linux_iterate_over_regset_sections(), mips_linux_restart_reg_p(), mips_n32n64_return_value(), mips_o32_push_dummy_call(), mips_o32_return_value(), mips_print_float_info(), mips_print_fp_register(), mips_pseudo_register_read(), mips_pseudo_register_write(), mips_read_fp_register_double(), mips_read_fp_register_single(), mips_xfer_register(), mn10300_extract_return_value(), mn10300_push_dummy_call(), mn10300_store_return_value(), msp430_pseudo_register_read(), msp430_pseudo_register_write(), mt_registers_info(), nios2_extract_return_value(), nios2_store_return_value(), pd_enable(), ppc64_sysv_abi_return_value(), ppc_collect_reg(), ppc_linux_trap_reg_p(), ppc_ravenscar_generic_store_registers(), ppc_register_u_addr(), ppc_supply_reg(), ppu2spu_prev_register(), print_gp_register_row(), process_g_packet(), pseudo_from_raw_register(), pseudo_register_read_portions(), put_frame_register(), put_frame_register_bytes(), pyuw_sniffer(), raw_from_pseudo_register(), read_frame_register_unsigned(), read_frame_register_value(), record_full_reg_alloc(), regcache_register_size(), register_changed_p(), remote_parse_stop_reply(), rs6000_frame_cache(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rs6000_register_to_value(), rw_pieced_value(), s390_ax_pseudo_register_push_stack(), s390_displaced_step_fixup(), s390_guess_tracepoint_registers(), s390_pseudo_register_read(), s390_pseudo_register_write(), s390_write_pc(), regcache::save(), sh64_do_fp_register(), sh64_extract_return_value(), sh64_pseudo_register_write(), sh64_push_dummy_call(), sh64_register_convert_to_raw(), sh64_register_convert_to_virtual(), sh64_store_return_value(), sh_pseudo_register_write(), sh_push_dummy_call_fpu(), sh_push_dummy_call_nofpu(), sh_register_convert_to_raw(), sh_register_convert_to_virtual(), sparc_execute_dwarf_cfa_vendor_op(), sparc_ravenscar_store_registers(), spu2ppu_prev_register(), store_altivec_register(), store_register(), store_register_using_P(), store_spe_register(), store_vsx_register(), supply_64bit_reg(), supply_register_at_address(), supply_vrregset(), supply_vsxregset(), tfile_fetch_registers(), unwind_infopy_add_saved_register(), value_fetch_lazy(), and regcache::xfer_part().

◆ register_type()

struct type* register_type ( struct gdbarch gdbarch,
int  regnum 
)

Definition at line 152 of file regcache.c.

References gdb_assert, regcache_descr::nr_cooked_registers, regcache_descr(), regcache_descr::register_type, and regnum.

Referenced by aarch64_gen_return_address(), aarch64_pseudo_read_value(), amd64_gen_return_address(), amd64_pseudo_register_read_value(), check_for_saved(), regcache::cooked_read_value(), default_register_reggroup_p(), do_ppc_sysv_return_value(), dummy_frame_prev_register(), regcache::dump(), evaluate_subexp_standard(), frame_unwind_got_address(), frame_unwind_got_bytes(), frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_optimized(), gen_expr(), generate_register_struct(), i386_gen_return_address(), i386_pseudo_register_read_value(), ia64_extract_return_value(), ia64_register_reggroup_p(), ia64_store_return_value(), m68k_convert_register_p(), m68k_register_to_value(), m68k_svr4_extract_return_value(), m68k_svr4_store_return_value(), m68k_value_to_register(), mep_pseudo_cr32_read(), mep_pseudo_cr32_write(), mips_register_reggroup_p(), mt_registers_info(), ppc64_sysv_abi_push_dummy_call(), ppc64_sysv_abi_push_freg(), ppc64_sysv_abi_return_value(), ppc64_sysv_abi_return_value_base(), ppc_sysv_abi_push_dummy_call(), rs6000_gen_return_address(), rs6000_lynx178_push_dummy_call(), rs6000_lynx178_return_value(), rs6000_push_dummy_call(), rs6000_return_value(), s390_gen_return_address(), s390_unwind_pseudo_register(), set_gdbarch_register_type(), sh64_do_register(), sh64_media_print_registers_info(), sh64_print_register(), sh64_pseudo_register_read(), sh64_pseudo_register_write(), sh_pseudo_register_read(), sh_pseudo_register_write(), and value_of_register_lazy().

◆ registers_changed()

void registers_changed ( void  )

◆ registers_changed_ptid()

void registers_changed_ptid ( ptid_t  ptid)

Variable Documentation

◆ current_thread_arch

struct gdbarch* current_thread_arch
static

Definition at line 431 of file regcache.c.

Referenced by get_thread_regcache(), and registers_changed_ptid().

◆ current_thread_ptid

ptid_t current_thread_ptid
static

Definition at line 430 of file regcache.c.

Referenced by get_thread_regcache(), and registers_changed_ptid().

◆ regcache_descr_handle

struct gdbarch_data* regcache_descr_handle

Definition at line 42 of file regcache.c.

Referenced by _initialize_regcache(), and regcache_descr().