GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
readable_regcache Class Referenceabstract

#include "regcache.h"

Inheritance diagram for readable_regcache:
reg_buffer detached_regcache readonly_detached_regcache regcache

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 valuecooked_read_value (int regnum)
 
- Public Member Functions inherited from reg_buffer
 reg_buffer (gdbarch *gdbarch, bool has_pseudo)
 
 DISABLE_COPY_AND_ASSIGN (reg_buffer)
 
gdbarcharch () 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)
 
- Protected Member Functions inherited from reg_buffer
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

- Protected Attributes inherited from reg_buffer
struct regcache_descrm_descr
 
bool m_has_pseudo
 
std::unique_ptr< gdb_byte[]> m_registers
 
std::unique_ptr< register_status[]> m_register_status
 

Detailed Description

Definition at line 275 of file regcache.h.

Constructor & Destructor Documentation

◆ readable_regcache()

readable_regcache::readable_regcache ( gdbarch * gdbarch,
bool has_pseudo )
inline

Definition at line 278 of file regcache.h.

Member Function Documentation

◆ cooked_read() [1/2]

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().

◆ cooked_read() [2/2]

template<typename T , typename >
enum register_status readable_regcache::cooked_read ( int regnum,
T * val )

◆ cooked_read_part()

enum register_status readable_regcache::cooked_read_part ( int regnum,
int offset,
int len,
gdb_byte * buf )

◆ cooked_read_value()

struct value * readable_regcache::cooked_read_value ( int regnum)

◆ raw_read() [1/2]

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().

◆ raw_read() [2/2]

template<typename T , typename >
enum register_status readable_regcache::raw_read ( int regnum,
T * val )

◆ raw_read_part()

enum register_status readable_regcache::raw_read_part ( int regnum,
int offset,
int len,
gdb_byte * buf )

◆ raw_update()

virtual void readable_regcache::raw_update ( int regnum)
pure virtual

Implemented in detached_regcache, regcache, and readonly_detached_regcache.

Referenced by raw_read().

◆ read_part()

enum register_status readable_regcache::read_part ( int regnum,
int offset,
int len,
gdb_byte * out,
bool is_raw )
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().


The documentation for this class was generated from the following files: