GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
regcache.c File Reference
#include "defs.h"
#include "inferior.h"
#include "gdbthread.h"
#include "target.h"
#include "test-target.h"
#include "scoped-mock-context.h"
#include "gdbarch.h"
#include "gdbcmd.h"
#include "regcache.h"
#include "reggroups.h"
#include "observable.h"
#include "regset.h"
#include <unordered_map>
#include "cli/cli-cmds.h"

Go to the source code of this file.

Classes

struct  regcache_descr
 

Typedefs

using ptid_regcache_map = std::unordered_multimap<ptid_t, regcache_up>
 
using pid_ptid_regcache_map = std::unordered_map<int, ptid_regcache_map>
 
using target_pid_ptid_regcache_map = std::unordered_map<process_stratum_target *, pid_ptid_regcache_map>
 

Functions

static struct regcache_descrinit_regcache_descr (struct gdbarch *gdbarch)
 
static struct regcache_descr * regcache_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)
 
struct regcacheget_thread_arch_aspace_regcache (inferior *inf_for_target_calls, ptid_t ptid, gdbarch *arch, struct address_space *aspace)
 
struct regcacheget_thread_arch_regcache (process_stratum_target *target, ptid_t ptid, struct gdbarch *gdbarch)
 
struct regcacheget_thread_regcache (process_stratum_target *target, ptid_t ptid)
 
struct regcacheget_thread_regcache (thread_info *thread)
 
struct regcacheget_current_regcache (void)
 
struct regcacheget_thread_regcache_for_ptid (ptid_t ptid)
 
static void regcache_observer_target_changed (struct target_ops *target)
 
static void regcache_thread_ptid_changed (process_stratum_target *target, ptid_t old_ptid, ptid_t new_ptid)
 
void registers_changed_ptid (process_stratum_target *target, ptid_t ptid)
 
void registers_changed_thread (thread_info *thread)
 
void registers_changed (void)
 
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_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_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)
 
bool regcache_map_supplies (const struct regcache_map_entry *map, int regnum, struct gdbarch *gdbarch, size_t size)
 
CORE_ADDR regcache_read_pc (struct regcache *regcache)
 
CORE_ADDR regcache_read_pc_protected (regcache *regcache)
 
void regcache_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
static void reg_flush_command (const char *command, int from_tty)
 
void _initialize_regcache ()
 

Variables

static const registry< gdbarch >::key< struct regcache_descrregcache_descr_handle
 
static target_pid_ptid_regcache_map regcaches
 
static process_stratum_targetcurrent_thread_target
 
static ptid_t current_thread_ptid
 
static struct gdbarchcurrent_thread_arch
 

Typedef Documentation

◆ pid_ptid_regcache_map

using pid_ptid_regcache_map = std::unordered_map<int, ptid_regcache_map>

Definition at line 335 of file regcache.c.

◆ ptid_regcache_map

using ptid_regcache_map = std::unordered_multimap<ptid_t, regcache_up>

Definition at line 331 of file regcache.c.

◆ target_pid_ptid_regcache_map

Definition at line 339 of file regcache.c.

Function Documentation

◆ _initialize_regcache()

void _initialize_regcache ( )

Definition at line 2146 of file regcache.c.

Referenced by initialize_all_files().

◆ get_current_regcache()

struct regcache * get_current_regcache ( void )

Definition at line 429 of file regcache.c.

References get_thread_regcache(), and inferior_thread().

Referenced by arc_insn_get_branch_target(), arc_insn_get_operand_value(), arc_insn_get_operand_value_signed(), bookmark_1(), bsd_kvm_pcb_cmd(), bsd_kvm_proc_cmd(), bsd_kvm_target_open(), call_function_by_hand_dummy(), core_target_open(), create_new_frame(), current_me_module(), current_options(), darwin_read_exec_load_addr_at_init(), darwin_solib_create_inferior_hook(), 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(), handle_signal_stop(), i386_mpx_bd_base(), insert_single_step_breakpoints(), keep_going_pass_signal(), m32c_virtual_frame_pointer(), procfs_target::make_corefile_notes(), mi_cmd_data_write_register_values(), or1k_single_step_through_delay(), print_signal_received_reason(), proceed(), 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_wait_1(), regcache_print(), restore_infcall_suspend_state(), i386_fbsd_nat_target::resume(), record_full_target::resume(), windows_nat_target::resume(), resume_1(), run_command_1(), save_bookmark_command(), save_infcall_suspend_state(), record_full_base_target::save_record(), ia64_linux_nat_target::stopped_data_address(), svr4_handle_solib_event(), tfind_pc_command(), xtensa_read_register(), and xtensa_write_register().

◆ get_thread_arch_aspace_regcache()

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

Definition at line 350 of file regcache.c.

Referenced by get_thread_arch_regcache(), and handle_inferior_event().

◆ get_thread_arch_regcache()

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

◆ get_thread_regcache() [1/2]

struct regcache * get_thread_regcache ( process_stratum_target * target,
ptid_t ptid )

Definition at line 400 of file regcache.c.

References current_thread_arch, current_thread_ptid, current_thread_target, find_inferior_ptid(), get_thread_arch_regcache(), regcache::ptid(), set_current_inferior(), and target_thread_architecture().

Referenced by aarch64_linux_get_syscall_number(), aarch64_remove_non_address_bits(), adjust_pc_after_break(), amd64_linux_get_syscall_number(), arm_linux_get_syscall_number(), bfin_linux_get_syscall_number(), breakpoint_kind(), btrace_add_pc(), darwin_nat_target::cancel_breakpoint(), fbsd_nat_target::detach(), displaced_step_prepare_throw(), do_target_wait_1(), elf_gnu_ifunc_resolver_return_stop(), ia64_linux_nat_target::enable_watchpoints_in_psr(), find_inline_frame_state(), displaced_step_buffers::finish(), finish_step_over(), get_current_regcache(), get_thread_regcache(), get_thread_regcache_for_ptid(), handle_inferior_event(), handle_one(), handle_signal_stop(), handle_syscall_event(), i386_linux_get_syscall_number(), keep_going_pass_signal(), keep_going_stepped_thread(), linux_nat_wait_1(), linux_resume_one_lwp_throw(), arc_linux_nat_target::low_prepare_to_resume(), i386_linux_nat_target::low_resume(), mips_linux_get_syscall_number(), post_create_inferior(), ppc_linux_get_syscall_number(), displaced_step_buffers::prepare(), process_one_event(), procfs_do_thread_registers(), displaced_step_buffers::restore_in_ptid(), resume_1(), resume_stopped_resumed_lwps(), s390_linux_get_syscall_number(), save_stop_reason(), save_waitstatus(), sparc32_linux_get_syscall_number(), sparc64_linux_get_syscall_number(), status_callback(), thread_still_needs_step_over_bp(), use_displaced_stepping(), and aix_thread_target::wait().

◆ get_thread_regcache() [2/2]

struct regcache * get_thread_regcache ( thread_info * thread)

◆ get_thread_regcache_for_ptid()

struct regcache * get_thread_regcache_for_ptid ( ptid_t ptid)

◆ init_regcache_descr()

static struct regcache_descr * init_regcache_descr ( struct gdbarch * gdbarch)
static

◆ reg_flush_command()

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

Definition at line 1437 of file regcache.c.

References gdb_printf(), and registers_changed().

◆ regcache_collect_regset()

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

◆ regcache_cooked_read_signed()

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

Definition at line 772 of file regcache.c.

References readable_regcache::cooked_read(), and regnum.

Referenced by arc_insn_get_operand_value_signed().

◆ regcache_cooked_read_unsigned()

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

Definition at line 796 of file regcache.c.

References readable_regcache::cooked_read(), and regnum.

Referenced by alpha_extract_return_value(), amd64_displaced_step_fixup(), arc_extract_return_value(), arc_insn_get_branch_target(), arc_insn_get_operand_value(), arc_linux_software_single_step(), arc_write_pc(), arm_extract_return_value(), arm_linux_cleanup_svc(), arm_linux_get_syscall_number(), arm_linux_sigreturn_next_pc(), arm_write_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(), ia64_linux_nat_target::enable_watchpoints_in_psr(), find_func_descr(), fixup_riprel(), frv_extract_return_value(), frv_fdpic_loadmap_addresses(), ft32_extract_return_value(), ravenscar_arch_ops::get_stack_base(), h8300_extract_return_value(), h8300h_extract_return_value(), i386_displaced_step_fixup(), ia64_allocate_new_rse_frame(), ia64_extract_return_value(), ia64_pseudo_register_write(), ia64_push_dummy_call(), ia64_write_pc(), iq2000_extract_return_value(), lm32_extract_return_value(), arc_linux_nat_target::low_prepare_to_resume(), i386_linux_nat_target::low_resume(), m32c_return_value(), m32r_extract_return_value(), moxie_extract_return_value(), moxie_software_single_step(), msp430_return_value(), nds32_extract_return_value(), or1k_return_value(), or1k_single_step_through_delay(), 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(), i386_fbsd_nat_target::resume(), riscv_return_value(), 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_store_inferior_registers(), ia64_linux_nat_target::stopped_data_address(), v850_extract_return_value(), and xtensa_register_write_masked().

◆ 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 825 of file regcache.c.

References regcache::cooked_write(), and regnum.

Referenced by aarch64_displaced_step_adr(), aarch64_displaced_step_b(), aarch64_displaced_step_fixup(), aarch64_displaced_step_ldr_literal(), aarch64_displaced_step_others(), 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(), csky_push_dummy_call(), csky_return_value(), csky_write_pc(), displaced_write_reg(), do_ppc_sysv_return_value(), ia64_linux_nat_target::enable_watchpoints_in_psr(), fixup_riprel(), frv_push_dummy_call(), ft32_store_return_value(), 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_linux_write_pc(), ia64_allocate_new_rse_frame(), 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(), loongarch_push_dummy_call(), arc_linux_nat_target::low_prepare_to_resume(), m32c_push_dummy_call(), m32c_return_value(), m32r_push_dummy_call(), m32r_store_return_value(), m68hc11_pseudo_register_write(), m68hc11_push_dummy_call(), mep_push_dummy_call(), 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(), moxie_store_return_value(), msp430_push_dummy_call(), msp430_return_value(), 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(), i386_fbsd_nat_target::resume(), riscv_push_dummy_call(), 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(), 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(), ia64_linux_nat_target::stopped_data_address(), 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_descr()

static struct regcache_descr * regcache_descr ( struct gdbarch * gdbarch)
static

◆ regcache_map_supplies()

bool regcache_map_supplies ( const struct regcache_map_entry * map,
int regnum,
struct gdbarch * gdbarch,
size_t size )

◆ regcache_observer_target_changed()

static void regcache_observer_target_changed ( struct target_ops * target)
static

Definition at line 449 of file regcache.c.

References registers_changed().

◆ regcache_raw_get_signed()

LONGEST regcache_raw_get_signed ( struct regcache * regcache,
int regnum )

◆ 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 649 of file regcache.c.

References readable_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(), h8300h_return_value(), i386_linux_record_signal(), 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(), m68k_return_value(), m68k_svr4_return_value(), mep_pseudo_csr_write(), mep_return_value(), ppc_linux_record_signal(), ppc_linux_syscall_record(), ppc_process_prefix_instruction(), ppc_process_record(), ppc_process_record_op31(), ppc_process_record_op6(), ppc_process_record_op61(), ppc_process_record_prefix_store(), ppc_process_record_prefix_store_vsx_ds_form(), ppc_process_record_prefix_vsx_d_form(), record_linux_system_call(), record_mem_at_reg(), rl78_pseudo_register_write(), s390_linux_record_signal(), s390_process_record(), s390_pseudo_register_write(), s390_record_address_mask(), s390_record_calc_disp(), s390_record_calc_disp_common(), sparc64_pseudo_register_write(), 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_write(), xtensa_push_dummy_call(), xtensa_read_register(), and xtensa_store_return_value().

◆ 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 1333 of file regcache.c.

References reg_buffer::arch(), gdbarch_addr_bits_remove(), gdbarch_pc_regnum(), gdbarch_read_pc(), gdbarch_read_pc_p(), and regcache_cooked_read_unsigned().

Referenced by aarch64_displaced_step_fixup(), aarch64_software_single_step(), adjust_pc_after_break(), alpha_software_single_step(), amd64_displaced_step_fixup(), arc_linux_software_single_step(), arm_breakpoint_kind_from_current_state(), arm_deal_with_atomic_sequence_raw(), arm_displaced_step_fixup(), arm_get_next_pcs_raw(), arm_linux_get_next_pcs_fixup(), arm_linux_get_next_pcs_syscall_next_pc(), btrace_add_pc(), darwin_nat_target::cancel_breakpoint(), darwin_solib_create_inferior_hook(), darwin_solib_get_all_image_info_addr_at_init(), default_skip_permanent_breakpoint(), fbsd_nat_target::detach(), displaced_step_prepare_throw(), do_target_wait_1(), enable_break(), find_inline_frame_state(), finish_step_over(), fork_load_infrun_state(), fork_save_infrun_state(), get_traceframe_location(), handle_inferior_event(), handle_one(), handle_signal_stop(), handle_syscall_event(), i386_displaced_step_fixup(), keep_going_pass_signal(), keep_going_stepped_thread(), linux_nat_wait_1(), linux_resume_one_lwp_throw(), loongarch_software_single_step(), mips_software_single_step(), moxie_software_single_step(), nios2_software_single_step(), or1k_software_single_step(), post_create_inferior(), ppc_deal_with_atomic_sequence(), ppc_displaced_step_fixup(), displaced_step_buffers::prepare(), process_one_event(), record_btrace_set_replay(), record_full_goto_entry(), record_full_message(), record_full_wait_1(), regcache_read_pc_protected(), resume_1(), resume_stopped_resumed_lwps(), riscv_software_single_step(), rs6000_software_single_step(), run_command_1(), s390_displaced_step_fixup(), s390_software_single_step(), save_bookmark_command(), save_stop_reason(), save_waitstatus(), status_callback(), svr4_handle_solib_event(), 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 aix_thread_target::wait().

◆ regcache_read_pc_protected()

CORE_ADDR regcache_read_pc_protected ( regcache * regcache)

Definition at line 1361 of file regcache.c.

References regcache_read_pc().

Referenced by keep_going_pass_signal(), and proceed().

◆ regcache_register_size()

int regcache_register_size ( const struct regcache * regcache,
int n )

Definition at line 183 of file regcache.c.

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

Referenced by aarch64_point_is_aligned(), and i387_collect_xsave().

◆ regcache_supply_regset()

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

◆ regcache_thread_ptid_changed()

static void regcache_thread_ptid_changed ( process_stratum_target * target,
ptid_t old_ptid,
ptid_t new_ptid )
static

Definition at line 456 of file regcache.c.

References regcaches.

◆ 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 170 of file regcache.c.

References gdbarch_num_cooked_regs(), regcache_descr(), regnum, size, and regcache_descr::sizeof_register.

Referenced by aarch64_pseudo_read_value_1(), aarch64_pseudo_write_1(), aarch64_store_return_value(), alpha_value_to_register(), amd64_pseudo_register_read_value(), amd64_pseudo_register_write(), BP_MANIPULATION(), check_for_saved(), check_for_saved(), check_for_saved(), check_for_saved(), check_for_saved(), check_for_saved(), collection_list::collect_symbol(), csky_collect_fregset(), csky_supply_fregset(), regcache::debug_print_register(), default_guess_tracepoint_registers(), default_value_from_register(), register_dump_regcache::dump_reg(), register_dump_reg_buffer::dump_reg(), efp_pseudo_register_read(), efp_pseudo_register_write(), value::fetch_lazy_register(), fetch_register(), fetch_register(), linux_nat_trad_target::fetch_register(), fetch_register(), remote_target::fetch_register_using_p(), gdbsim_target::fetch_registers(), tfile_target::fetch_registers(), riscv_linux_nat_target::fetch_registers(), fetch_spe_register(), fill_fpregset(), fill_sprs32(), fill_sprs64(), pv_area::find_reg(), frame_unwind_got_bytes(), frame_unwind_got_constant(), frame_unwind_register_unsigned(), frame_unwind_register_value(), get_frame_register_bytes(), 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_stap_adjust_register(), 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(), info_frame_command_core(), jit_frame_prev_register(), jit_unwind_reg_get_impl(), libunwind_get_reg_special(), loongarch_fill_fpregset(), loongarch_fill_gregset(), loongarch_iterate_over_regset_sections(), loongarch_push_dummy_call(), loongarch_return_value(), loongarch_supply_fpregset(), loongarch_supply_gregset(), m32r_push_dummy_call(), m68k_register_to_value(), map_regcache_remote_table(), mep_pseudo_csr_write(), mips2_fp_compat(), mips64_fill_fpregset(), mips64_linux_register_addr(), 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(), nios2_extract_return_value(), nios2_store_return_value(), pass_in_v(), pd_enable(), ppc64_sysv_abi_return_value(), ppc_collect_reg(), ppc_linux_trap_reg_p(), ppc_register_u_addr(), ppc_supply_reg(), print_gp_register_row(), remote_target::process_g_packet(), pseudo_from_raw_register(), pseudo_register_read_portions(), put_frame_register(), put_frame_register_bytes(), pyuw_sniffer(), reg_buffer::raw_collect_part(), raw_from_pseudo_register(), reg_buffer::raw_supply_part(), read_frame_register_unsigned(), read_frame_register_value(), readable_regcache::read_part(), record_full_reg_alloc(), regcache_map_supplies(), regcache_register_size(), register_changed_p(), remote_target::remote_parse_stop_reply(), riscv_iterate_over_regset_sections(), riscv_print_one_register_info(), riscv_pseudo_register_read(), riscv_pseudo_register_write(), riscv_return_value(), 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(), reg_buffer::save(), 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(), ravenscar_arch_ops::store_one_register(), store_register(), linux_nat_trad_target::store_register(), store_register(), store_register(), remote_target::store_register_using_P(), i386_gnu_nat_target::store_registers(), gdbsim_target::store_registers(), riscv_linux_nat_target::store_registers(), store_spe_register(), supply_64bit_reg(), supply_fpregset_regnum(), ravenscar_arch_ops::supply_one_register(), trad_frame_set_reg_regmap(), regcache::transfer_regset_register(), unwind_infopy_add_saved_register(), windows_fetch_one_register(), and regcache::write_part().

◆ register_type()

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

Definition at line 158 of file regcache.c.

References 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(), readable_regcache::cooked_read_value(), default_register_reggroup_p(), expr::register_operation::do_generate_ax(), do_ppc_sysv_return_value(), dummy_frame_prev_register(), register_dump::dump(), eval_op_register(), amd_dbgapi_target::fetch_registers(), frame_unwind_got_address(), frame_unwind_got_bytes(), frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_optimized(), 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(), 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(), sh_pseudo_register_read(), sh_pseudo_register_write(), amd_dbgapi_target::store_registers(), and value_of_register_lazy().

◆ registers_changed()

void registers_changed ( void )

◆ registers_changed_ptid()

void registers_changed_ptid ( process_stratum_target * target,
ptid_t ptid )

◆ registers_changed_thread()

void registers_changed_thread ( thread_info * thread)

Variable Documentation

◆ current_thread_arch

struct gdbarch* current_thread_arch
static

Definition at line 397 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 396 of file regcache.c.

Referenced by get_thread_regcache(), and registers_changed_ptid().

◆ current_thread_target

process_stratum_target* current_thread_target
static

Definition at line 395 of file regcache.c.

Referenced by get_thread_regcache(), and registers_changed_ptid().

◆ regcache_descr_handle

const registry<gdbarch>::key<struct regcache_descr> regcache_descr_handle
static

Definition at line 77 of file regcache.c.

Referenced by regcache_descr().

◆ regcaches

target_pid_ptid_regcache_map regcaches
static

Definition at line 347 of file regcache.c.

Referenced by regcache_thread_ptid_changed(), and registers_changed_ptid().