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_descr * | regcache_descr (struct gdbarch *gdbarch)
struct type * | register_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 regcache * | regcache_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 regcache * | get_thread_arch_aspace_regcache (ptid_t ptid, struct gdbarch *gdbarch, struct address_space *aspace)
struct regcache * | get_thread_arch_regcache (ptid_t ptid, struct gdbarch *gdbarch)
struct regcache * | get_thread_regcache (ptid_t ptid)
struct regcache * | get_current_regcache (void)
struct regcache * | get_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 value * | regcache_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_data * | regcache_descr_handle
static ptid_t | current_thread_ptid
static struct gdbarch * | current_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 |  | ) |

Definition at line 1946 of file regcache.c.

References _, add_cmd(), add_com(), class_maintenance, gdbarch_data_register_post_init(), init_regcache_descr(), maintenance_print_cooked_registers(), maintenance_print_raw_registers(), maintenance_print_register_groups(), maintenance_print_registers(), maintenance_print_remote_registers(), maintenanceprintlist, observer_attach_target_changed(), observer_attach_thread_ptid_changed(), reg_flush_command(), regcache_descr_handle, regcache_observer_target_changed(), regcache::regcache_thread_ptid_changed(), selftests::register_test(), and selftests::register_test_foreach_arch().

## ◆ 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
| ) |  |

Definition at line 407 of file regcache.c.

References regcache::arch(), regcache::aspace(), regcache::current_regcache, regcache::ptid(), ptid_equal(), regcache::regcache(), and regcache::set_ptid().

Referenced by get_thread_arch_regcache(), and handle_inferior_event_1().

## ◆ get_thread_arch_regcache()

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

Definition at line 423 of file regcache.c.

References regcache::aspace(), get_thread_arch_aspace_regcache(), regcache::ptid(), and target_thread_address_space().

Referenced by enable_break(), fbsd_corefile_thread(), get_thread_regcache(), linux_corefile_thread(), parse_spufs_run(), process_stop_reply(), ps_lgetfpregs(), ps_lgetregs(), ps_lsetfpregs(), ps_lsetregs(), and spu2ppu_sniffer().

## ◆ get_thread_regcache()

struct regcache* get_thread_regcache | ( | ptid_t | ptid | ) |

Definition at line 434 of file regcache.c.

References current_thread_arch, current_thread_ptid, get_thread_arch_regcache(), regcache::ptid(), ptid_equal(), and target_thread_architecture.

Referenced by aarch64_linux_get_syscall_number(), adjust_pc_after_break(), aix_thread_wait(), amd64_linux_get_syscall_number(), arm_linux_get_syscall_number(), bfin_linux_get_syscall_number(), breakpoint_kind(), btrace_add_pc(), cancel_breakpoint(), displaced_step_fixup(), displaced_step_prepare_throw(), do_target_wait(), elf_gnu_ifunc_resolver_return_stop(), enable_watchpoints_in_psr(), finish_step_over(), get_current_regcache(), get_thread_regcache_for_ptid(), handle_inferior_event_1(), handle_signal_stop(), handle_syscall_event(), i386_linux_get_syscall_number(), i386_linux_resume(), keep_going_pass_signal(), keep_going_stepped_thread(), linux_nat_wait_1(), linux_resume_one_lwp_throw(), mips_linux_get_syscall_number(), ppc_linux_get_syscall_number(), procfs_do_thread_registers(), 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(), stop_all_threads(), store_regs(), switch_to_thread(), thread_still_needs_step_over_bp(), use_displaced_stepping(), and VEC().

## ◆ 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

Definition at line 77 of file regcache.c.

References gdb_assert, regcache_descr::gdbarch, gdbarch_num_pseudo_regs(), gdbarch_num_regs(), GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC, gdbarch_register_type(), MAX_REGISTER_SIZE, regcache_descr::nr_cooked_registers, offset, regcache_descr::register_offset, regcache_descr::register_type, regcache_descr::sizeof_cooked_registers, regcache_descr::sizeof_raw_registers, regcache_descr::sizeof_register, and TYPE_LENGTH.

Referenced by _initialize_regcache().

## ◆ 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
| ) |  |

Definition at line 661 of file regcache.c.

References regcache::cooked_read(), and regnum.

Referenced by aarch64_linux_get_syscall_number(), alpha_extract_return_value(), amd64_linux_get_syscall_number(), arm_extract_return_value(), arm_return_value(), bfin_linux_get_syscall_number(), BP_MANIPULATION(), do_cooked_read(), do_ppc_sysv_return_value(), dummy_frame_prev_register(), get_decimal_float_return_value(), hppa32_return_value(), i386_linux_get_syscall_number_from_regcache(), ia64_extract_return_value(), m32c_cat_read(), m32c_r3r2r1r0_read(), m88k_return_value(), microblaze_extract_return_value(), mips_linux_get_syscall_number(), nds32_extract_return_value(), nios2_extract_return_value(), ppc64_sysv_abi_return_value(), ppc64_sysv_abi_return_value_base(), ppc_linux_get_syscall_number(), record_full_exec_insn(), rs6000_lynx178_return_value(), rs6000_return_value(), s390_record_calc_disp_vsce(), s390_register_return_value(), sh64_extract_return_value(), sparc32_extract_return_value(), sparc32_linux_get_syscall_number(), sparc64_extract_floating_fields(), sparc64_extract_return_value(), sparc64_linux_get_syscall_number(), spu2ppu_prev_register(), spu_push_dummy_call(), spu_regcache_to_value(), tic6x_extract_return_value(), and vax_return_value().

## ◆ regcache_cooked_read_part()

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

Definition at line 972 of file regcache.c.

References regcache::cooked_read_part(), offset, and regnum.

Referenced by hppa32_return_value(), hppa64_return_value(), m32c_part_read(), mep_extract_return_value(), mips_xfer_register(), ppc64_sysv_abi_return_value(), ppc64_sysv_abi_return_value_base(), s390_register_return_value(), score_xfer_register(), spu_regcache_to_value(), spu_return_value(), and tic6x_extract_return_value().

## ◆ 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
| ) |  |

Definition at line 987 of file regcache.c.

References regcache::cooked_write_part(), offset, and regnum.

Referenced by hppa32_return_value(), hppa64_push_dummy_call(), hppa64_return_value(), m32c_part_write(), mep_store_return_value(), mips_xfer_register(), ppc64_sysv_abi_push_freg(), ppc64_sysv_abi_push_val(), ppc64_sysv_abi_return_value(), ppc64_sysv_abi_return_value_base(), s390_handle_arg(), s390_register_return_value(), score_xfer_register(), spu_return_value(), spu_value_to_regcache(), tic6x_push_dummy_call(), and tic6x_store_return_value().

## ◆ regcache_cooked_write_signed()

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

Definition at line 785 of file regcache.c.

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

Referenced by alpha_push_dummy_call(), BP_MANIPULATION(), mi_cmd_data_write_register_values(), mips_eabi_push_dummy_call(), mips_n32n64_push_dummy_call(), mips_o32_push_dummy_call(), mips_o64_push_dummy_call(), nios2_push_dummy_call(), ppc64_sysv_abi_push_dummy_call(), ppc_sysv_abi_push_dummy_call(), s390_register_return_value(), and tic6x_push_dummy_call().

## ◆ 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
| ) |  |

Definition at line 342 of file regcache.c.

References gdb_assert, regcache_descr::gdbarch, regcache::m_descr, regcache::m_readonly_p, and regcache::restore().

Referenced by fork_load_infrun_state(), frame_pop(), and restore_infcall_suspend_state().

## ◆ 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 | ) |

Definition at line 353 of file regcache.c.

References regcache::readonly, and regcache::regcache().

Referenced by fork_save_infrun_state(), save_infcall_suspend_state(), and spu2ppu_sniffer().

## ◆ 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
| ) |  |

Definition at line 378 of file regcache.c.

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

Referenced by mt_pseudo_register_write(), mt_select_coprocessor(), record_full_store_registers(), sh_pseudo_register_write(), and regcache_invalidator::~regcache_invalidator().

## ◆ 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

Definition at line 1551 of file regcache.c.

References _, regcache::dump(), gdb_stdout, get_current_regcache(), stdio_file::open(), perror_with_name(), target_gdbarch(), and target_has_registers.

Referenced by maintenance_print_cooked_registers(), maintenance_print_raw_registers(), maintenance_print_register_groups(), maintenance_print_registers(), and maintenance_print_remote_registers().

## ◆ 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
| ) |  |

Definition at line 648 of file regcache.c.

References _, NOT_AVAILABLE_ERROR, REG_UNAVAILABLE, regcache_raw_read_signed(), regnum, status, and throw_error().

Referenced by alpha_next_pc(), extended_mips16_next_pc(), micromips_next_pc(), mips32_next_pc(), nios2_get_next_pc(), tic6x_condition_true(), and tic6x_get_next_pc().

## ◆ 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
| ) |  |

Definition at line 943 of file regcache.c.

References offset, regcache::raw_read_part(), and regnum.

Referenced by amd64_return_value(), amd64_windows_return_value(), efpr_pseudo_register_read(), mips_pseudo_register_read(), spu_software_single_step(), and xtensa_extract_return_value().

## ◆ regcache_raw_read_signed()

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

Definition at line 586 of file regcache.c.

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

Referenced by arm_record_ld_st_reg_offset(), i386_linux_intx80_sysenter_syscall_record(), mips_pseudo_register_read(), record_linux_system_call(), regcache_raw_get_signed(), and s390_linux_syscall_record().

## ◆ 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
| ) |  |

Definition at line 831 of file regcache.c.

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

Referenced by aarch64_pseudo_write(), amd64_pseudo_register_write(), amd64_return_value(), arm_neon_quad_write(), arm_pseudo_write(), bfin_pseudo_register_write(), dfp_pseudo_register_write(), do_regcache_raw_write(), frv_pseudo_register_write(), h8300_pseudo_register_write(), i386_darwin_push_dummy_call(), i386_pseudo_register_write(), i386_store_return_value(), i387_reset_bnd_regs(), iq2000_push_dummy_call(), iq2000_store_return_value(), m32c_banked_write(), m32c_raw_write(), m68hc11_store_return_value(), m68k_store_return_value(), m68k_svr4_store_return_value(), m88k_store_arguments(), mep_pseudo_cr32_write(), mep_pseudo_cr64_write(), mep_pseudo_register_write(), mips_pseudo_register_write(), mn10300_store_return_value(), mt_pseudo_register_write(), mt_select_coprocessor(), nds32_pseudo_register_write(), rl78_pseudo_register_write(), s390_pseudo_register_write(), sh64_pseudo_register_write(), sh64_store_return_value(), sh_pseudo_register_write(), sh_store_return_value_fpu(), sh_store_return_value_nofpu(), sparc32_pseudo_register_write(), sparc64_pseudo_register_write(), spu_pseudo_register_write(), tilegx_store_return_value(), v850_store_return_value(), vsx_pseudo_register_write(), xstormy16_store_return_value(), xtensa_pseudo_register_write(), and xtensa_store_return_value().

## ◆ regcache_raw_write_part()

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

Definition at line 957 of file regcache.c.

References offset, regcache::raw_write_part(), and regnum.

Referenced by amd64_push_arguments(), amd64_return_value(), amd64_windows_return_value(), efpr_pseudo_register_write(), i386_store_return_value(), m68hc11_store_return_value(), m68k_store_return_value(), mips_pseudo_register_write(), mn10300_store_return_value(), and xtensa_store_return_value().

## ◆ regcache_raw_write_signed()

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

Definition at line 620 of file regcache.c.

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

Referenced by mips_pseudo_register_write(), rs6000_lynx178_push_dummy_call(), and rs6000_push_dummy_call().

## ◆ regcache_raw_write_unsigned()

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

Definition at line 640 of file regcache.c.

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

Referenced by amd64_push_arguments(), amd64_return_value(), avr_pseudo_register_write(), i386_store_return_value(), i387_return_value(), m88k_push_dummy_call(), mep_pseudo_csr_write(), msp430_pseudo_register_write(), raw_from_pseudo_register(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), s390_pseudo_register_write(), sparc64_pseudo_register_write(), and xtensa_write_register().

## ◆ 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
| ) |  |

Definition at line 359 of file regcache.c.

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

Referenced by aarch32_gp_regcache_collect(), fill_fprs(), fill_gprs32(), fill_gprs64(), fill_sprs32(), fill_sprs64(), get_core_registers(), gnu_store_registers(), s390_iterate_over_regset_sections(), store_fpregs(), store_fpregs_to_thread(), store_gregs_to_thread(), store_regs_kernel_thread(), store_regs_user_thread(), store_wmmx_regs(), and tfile_fetch_registers().

## ◆ 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
| ) |  |

Definition at line 1192 of file regcache.c.

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

Referenced by fetch_regset(), frv_linux_supply_gregset(), ia64_linux_supply_fpregset(), s390_supply_tdb_regset(), score7_linux_supply_gregset(), supply_fpregset(), and supply_gregset().

## ◆ regcache_write_pc()

void regcache_write_pc | ( | struct regcache * | regcache,
|  | CORE_ADDR | pc
| ) |  |

Definition at line 1256 of file regcache.c.

References _, regcache::arch(), gdbarch_pc_regnum(), gdbarch_write_pc(), gdbarch_write_pc_p(), internal_error(), regcache_cooked_write_unsigned(), and reinit_frame_cache().

Referenced by adjust_pc_after_break(), cancel_breakpoint(), default_skip_permanent_breakpoint(), displaced_step_fixup(), displaced_step_prepare_throw(), do_target_wait(), generic_load(), handle_inferior_event_1(), handle_signal_stop(), linux_nat_wait_1(), proceed(), s390_displaced_step_fixup(), and save_stop_reason().

## ◆ 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 |  | ) |

Definition at line 522 of file regcache.c.

References minus_one_ptid, and registers_changed_ptid().

Referenced by core_open(), fork_load_infrun_state(), generic_mourn_inferior(), linux_nat_switch_fork(), record_full_goto_entry(), record_full_wait_1(), reg_flush_command(), regcache_observer_target_changed(), set_current_traceframe(), set_target_gdbarch(), simulator_command(), spu_multiarch_activate(), spu_multiarch_deactivate(), and windows_interrupt().

## ◆ registers_changed_ptid()

void registers_changed_ptid | ( | ptid_t | ptid | ) |

Definition at line 491 of file regcache.c.

References regcache::current_regcache, current_thread_arch, current_thread_ptid, inferior_ptid, null_ptid, regcache::ptid(), ptid_match(), and reinit_frame_cache().

Referenced by linux_resume_one_lwp_throw(), record_btrace_set_replay(), record_btrace_start_replaying(), record_btrace_stop_replaying(), record_btrace_wait(), registers_changed(), and target_resume().

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