GDB (xrefs)
|
#include "regcache.h"
Public Member Functions | |
readable_regcache (gdbarch *gdbarch, bool has_pseudo) | |
enum register_status | raw_read (int regnum, gdb_byte *buf) |
template<typename T , typename = RequireLongest<T>> | |
enum register_status | raw_read (int regnum, T *val) |
enum register_status | raw_read_part (int regnum, int offset, int len, gdb_byte *buf) |
virtual void | raw_update (int regnum)=0 |
enum register_status | cooked_read (int regnum, gdb_byte *buf) |
template<typename T , typename = RequireLongest<T>> | |
enum register_status | cooked_read (int regnum, T *val) |
enum register_status | cooked_read_part (int regnum, int offset, int len, gdb_byte *buf) |
struct value * | cooked_read_value (int regnum) |
![]() | |
reg_buffer (gdbarch *gdbarch, bool has_pseudo) | |
DISABLE_COPY_AND_ASSIGN (reg_buffer) | |
gdbarch * | arch () const |
enum register_status | get_register_status (int regnum) const override |
void | raw_collect (int regnum, void *buf) const override |
void | raw_collect_integer (int regnum, gdb_byte *addr, int addr_len, bool is_signed) const |
void | raw_collect_part (int regnum, int offset, int len, gdb_byte *out) const |
void | raw_supply (int regnum, const void *buf) override |
void | raw_supply (int regnum, const reg_buffer &src) |
void | raw_supply_integer (int regnum, const gdb_byte *addr, int addr_len, bool is_signed) |
void | raw_supply_zeroed (int regnum) |
void | raw_supply_part (int regnum, int offset, int len, const gdb_byte *in) |
void | invalidate (int regnum) |
virtual | ~reg_buffer ()=default |
bool | raw_compare (int regnum, const void *buf, int offset) const override |
Protected Member Functions | |
enum register_status | read_part (int regnum, int offset, int len, gdb_byte *out, bool is_raw) |
![]() | |
void | assert_regnum (int regnum) const |
int | num_raw_registers () const |
gdb_byte * | register_buffer (int regnum) const |
void | save (register_read_ftype cooked_read) |
Additional Inherited Members | |
![]() | |
struct regcache_descr * | m_descr |
bool | m_has_pseudo |
std::unique_ptr< gdb_byte[]> | m_registers |
std::unique_ptr< register_status[]> | m_register_status |
Definition at line 275 of file regcache.h.
|
inline |
Definition at line 278 of file regcache.h.
enum register_status readable_regcache::cooked_read | ( | int | regnum, |
gdb_byte * | buf ) |
Definition at line 698 of file regcache.c.
References value::contents_raw(), value::entirely_available(), regcache_descr::gdbarch, gdbarch_pseudo_register_read(), gdbarch_pseudo_register_read_value(), gdbarch_pseudo_register_read_value_p(), reg_buffer::m_descr, reg_buffer::m_has_pseudo, reg_buffer::m_register_status, reg_buffer::num_raw_registers(), raw_read(), reg_buffer::register_buffer(), regnum, and regcache_descr::sizeof_register.
Referenced by aarch64_fbsd_get_thread_local_address(), aarch64_linux_get_syscall_number(), aarch64_remove_non_address_bits(), aarch64_return_value(), aarch64_store_return_value(), alpha_extract_return_value(), amd64_linux_get_syscall_number(), amd64fbsd_get_thread_local_address(), arm_extract_return_value(), arm_fbsd_get_thread_local_address(), arm_return_value(), avr_read_pc(), bfin_linux_get_syscall_number(), BP_MANIPULATION(), BP_MANIPULATION(), bpf_extract_return_value(), cooked_read(), cooked_read_value(), csky_read_pc(), csky_return_value(), do_ppc_sysv_return_value(), dummy_frame_prev_register(), register_dump_regcache::dump_reg(), get_decimal_float_return_value(), hppa32_return_value(), hppa_read_pc(), i386_linux_get_syscall_number_from_regcache(), i386fbsd_get_thread_local_address(), ia64_extract_return_value(), ia64_pseudo_register_read(), ia64_read_pc(), m32c_cat_read(), m32c_r3r2r1r0_read(), m68hc11_pseudo_register_read(), microblaze_extract_return_value(), mips_linux_get_syscall_number(), mips_read_pc(), nds32_extract_return_value(), nios2_extract_return_value(), ppc64_sysv_abi_return_value(), ppc64_sysv_abi_return_value_base(), ppc_linux_get_syscall_number(), ppcfbsd_get_thread_local_address(), read_part(), readonly_detached_regcache::readonly_detached_regcache(), readonly_detached_regcache::readonly_detached_regcache(), record_full_exec_insn(), regcache_cooked_read_signed(), regcache_cooked_read_unsigned(), riscv_fbsd_get_thread_local_address(), riscv_next_pc(), rs6000_lynx178_return_value(), rs6000_return_value(), s12z_extract_return_value(), s390_record_calc_disp_vsce(), s390_register_return_value(), sparc32_extract_return_value(), sparc32_linux_get_syscall_number(), sparc64_extract_floating_fields(), sparc64_extract_return_value(), sparc64_linux_get_syscall_number(), gdbsim_target::store_registers(), tic6x_extract_return_value(), vax_return_value(), regcache::write_part(), xtensa_register_read_masked(), and z80_software_single_step().
enum register_status readable_regcache::cooked_read | ( | int | regnum, |
T * | val ) |
Definition at line 781 of file regcache.c.
References cooked_read(), regcache_descr::gdbarch, gdbarch_byte_order(), reg_buffer::m_descr, regnum, regcache_descr::sizeof_register, and status.
enum register_status readable_regcache::cooked_read_part | ( | int | regnum, |
int | offset, | ||
int | len, | ||
gdb_byte * | buf ) |
Definition at line 1042 of file regcache.c.
References read_part(), and regnum.
Referenced by hppa32_return_value(), hppa64_return_value(), loongarch_xfer_reg(), m32c_part_read(), mep_extract_return_value(), mips_xfer_register(), ppc64_sysv_abi_return_value(), ppc64_sysv_abi_return_value_base(), riscv_return_value(), s390_register_return_value(), tic6x_extract_return_value(), and z80_return_value().
struct value * readable_regcache::cooked_read_value | ( | int | regnum | ) |
Definition at line 741 of file regcache.c.
References value::allocate(), value::contents_raw(), cooked_read(), regcache_descr::gdbarch, gdbarch_pseudo_register_read_value(), gdbarch_pseudo_register_read_value_p(), type::length(), lval_register, reg_buffer::m_descr, reg_buffer::m_has_pseudo, reg_buffer::m_register_status, value::mark_bytes_unavailable(), reg_buffer::num_raw_registers(), register_type(), regnum, value::set_lval(), value::type(), and VALUE_REGNUM.
Referenced by register_changed_p(), and sentinel_frame_prev_register().
enum register_status readable_regcache::raw_read | ( | int | regnum, |
gdb_byte * | buf ) |
Definition at line 611 of file regcache.c.
References reg_buffer::m_descr, reg_buffer::m_register_status, raw_update(), reg_buffer::register_buffer(), regnum, and regcache_descr::sizeof_register.
Referenced by aarch64_pseudo_read_value_1(), aarch64_sme_pseudo_register_read(), amd64_pseudo_register_read_value(), amd64_pseudo_register_write(), amd64_return_value(), arm_neon_quad_read(), arm_pseudo_read(), arm_pseudo_write(), avr_pseudo_register_read(), bfin_pseudo_register_read(), bfin_pseudo_register_write(), cooked_read(), csky_pseudo_register_read(), csky_pseudo_register_write(), dfp_pseudo_register_read(), e500_pseudo_register_read(), frv_pseudo_register_read(), frv_pseudo_register_write(), h8300_pseudo_register_read(), hppa_pseudo_register_read(), i386_extract_return_value(), i386_mmx_regnum_to_fp_regnum(), i386_pseudo_register_read_into_value(), i386_pseudo_register_write(), m32c_banked_read(), m32c_raw_read(), m32c_read_flg(), 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(), msp430_pseudo_register_read(), nds32_pseudo_register_read(), nds32_pseudo_register_write(), pseudo_from_raw_register(), pseudo_register_read_portions(), raw_read(), read_part(), record_full_arch_list_add_reg(), regcache_raw_read_signed(), regcache_raw_read_unsigned(), riscv_pseudo_register_write(), riscv_supply_regset(), rl78_pseudo_register_read(), s390_pseudo_register_read(), s390_record_calc_disp_vsce(), sh_extract_return_value_fpu(), sh_extract_return_value_nofpu(), sh_pseudo_register_read(), sparc32_pseudo_register_read(), sparc64_pseudo_register_read(), tilegx_extract_return_value(), v850_extract_return_value(), v_alias_pseudo_register_read(), vsx_pseudo_register_read(), regcache::write_part(), xstormy16_extract_return_value(), xtensa_extract_return_value(), xtensa_pseudo_register_read(), and xtensa_push_dummy_call().
enum register_status readable_regcache::raw_read | ( | int | regnum, |
T * | val ) |
Definition at line 634 of file regcache.c.
References reg_buffer::assert_regnum(), regcache_descr::gdbarch, gdbarch_byte_order(), reg_buffer::m_descr, raw_read(), regnum, regcache_descr::sizeof_register, and status.
enum register_status readable_regcache::raw_read_part | ( | int | regnum, |
int | offset, | ||
int | len, | ||
gdb_byte * | buf ) |
Definition at line 1022 of file regcache.c.
References reg_buffer::assert_regnum(), read_part(), and regnum.
Referenced by aarch64_pseudo_read_value(), amd64_return_value(), amd64_windows_return_value(), arm_mve_pseudo_read(), efp_pseudo_register_read(), mips_pseudo_register_read(), riscv_pseudo_register_read(), and xtensa_extract_return_value().
|
pure virtual |
Implemented in detached_regcache, regcache, and readonly_detached_regcache.
Referenced by raw_read().
|
protected |
Definition at line 884 of file regcache.c.
References reg_buffer::arch(), cooked_read(), raw_read(), register_size(), regnum, and status.
Referenced by cooked_read_part(), and raw_read_part().