GDB (xrefs)

Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/s390-linux-tdep.c File Reference
`#include "defs.h"`
`#include "arch-utils.h"`
`#include "frame.h"`
`#include "inferior.h"`
`#include "infrun.h"`
`#include "symtab.h"`
`#include "target.h"`
`#include "gdbcore.h"`
`#include "gdbcmd.h"`
`#include "objfiles.h"`
`#include "regcache.h"`
`#include "trad-frame.h"`
`#include "frame-base.h"`
`#include "frame-unwind.h"`
`#include "dwarf2-frame.h"`
`#include "reggroups.h"`
`#include "regset.h"`
`#include "value.h"`
`#include "dis-asm.h"`
`#include "solib-svr4.h"`
`#include "prologue-value.h"`
`#include "linux-tdep.h"`
`#include "s390-linux-tdep.h"`
`#include "linux-record.h"`
`#include "record-full.h"`
`#include "auxv.h"`
`#include "xml-syscall.h"`
`#include "stap-probe.h"`
`#include "ax.h"`
`#include "ax-gdb.h"`
`#include "user-regs.h"`
`#include "cli/cli-utils.h"`
`#include <ctype.h>`
`#include "elf/common.h"`
`#include "elf/s390.h"`
`#include "elf-bfd.h"`
`#include <algorithm>`
`#include "features/s390-linux32.c"`
`#include "features/s390-linux32v1.c"`
`#include "features/s390-linux32v2.c"`
`#include "features/s390-linux64.c"`
`#include "features/s390-linux64v1.c"`
`#include "features/s390-linux64v2.c"`
`#include "features/s390-te-linux64.c"`
`#include "features/s390-vx-linux64.c"`
`#include "features/s390-tevx-linux64.c"`
`#include "features/s390-gs-linux64.c"`
`#include "features/s390x-linux64.c"`
`#include "features/s390x-linux64v1.c"`
`#include "features/s390x-linux64v2.c"`
`#include "features/s390x-te-linux64.c"`
`#include "features/s390x-vx-linux64.c"`
`#include "features/s390x-tevx-linux64.c"`
`#include "features/s390x-gs-linux64.c"`

Go to the source code of this file.

## Classes
struct | gdbarch_tdep
struct | s390_prologue_data
struct | s390_unwind_cache
struct | s390_stub_unwind_cache
struct | s390_sigtramp_unwind_cache
struct | s390_arg_state

## Macros
#define | XML_SYSCALL_FILENAME_S390 "syscalls/s390-linux.xml"
#define | XML_SYSCALL_FILENAME_S390X "syscalls/s390x-linux.xml"
#define | S390_MAX_INSTR_SIZE 6
#define | S390_NUM_GPRS 16
#define | S390_NUM_FPRS 16

## Typedefs
typedef buf_displaced_step_closure | s390_displaced_step_closure

## Enumerations
enum | s390_abi_kind { ABI_LINUX_S390, ABI_LINUX_ZSERIES }
enum | s390_vector_abi_kind { S390_VECTOR_ABI_NONE, S390_VECTOR_ABI_128 }
enum | { s390_dwarf_reg_r0l = ARRAY_SIZE (s390_dwarf_regmap) - 16 }
enum | { op1_lhi = 0xa7, op2_lhi = 0x08, op1_lghi = 0xa7, op2_lghi = 0x09, op1_lgfi = 0xc0, op2_lgfi = 0x01, op_lr = 0x18, op_lgr = 0xb904, op_l = 0x58, op1_ly = 0xe3, op2_ly = 0x58, op1_lg = 0xe3, op2_lg = 0x04, op_lm = 0x98, op1_lmy = 0xeb, op2_lmy = 0x98, op1_lmg = 0xeb, op2_lmg = 0x04, op_st = 0x50, op1_sty = 0xe3, op2_sty = 0x50, op1_stg = 0xe3, op2_stg = 0x24, op_std = 0x60, op_stm = 0x90, op1_stmy = 0xeb, op2_stmy = 0x90, op1_stmg = 0xeb, op2_stmg = 0x24, op1_aghi = 0xa7, op2_aghi = 0x0b, op1_ahi = 0xa7, op2_ahi = 0x0a, op1_agfi = 0xc2, op2_agfi = 0x08, op1_afi = 0xc2, op2_afi = 0x09, op1_algfi = 0xc2, op2_algfi = 0x0a, op1_alfi = 0xc2, op2_alfi = 0x0b, op_ar = 0x1a, op_agr = 0xb908, op_a = 0x5a, op1_ay = 0xe3, op2_ay = 0x5a, op1_ag = 0xe3, op2_ag = 0x08, op1_slgfi = 0xc2, op2_slgfi = 0x04, op1_slfi = 0xc2, op2_slfi = 0x05, op_sr = 0x1b, op_sgr = 0xb909, op_s = 0x5b, op1_sy = 0xe3, op2_sy = 0x5b, op1_sg = 0xe3, op2_sg = 0x09, op_nr = 0x14, op_ngr = 0xb980, op_la = 0x41, op1_lay = 0xe3, op2_lay = 0x71, op1_larl = 0xc0, op2_larl = 0x00, op_basr = 0x0d, op_bas = 0x4d, op_bcr = 0x07, op_bc = 0x0d, op_bctr = 0x06, op_bctgr = 0xb946, op_bct = 0x46, op1_bctg = 0xe3, op2_bctg = 0x46, op_bxh = 0x86, op1_bxhg = 0xeb, op2_bxhg = 0x44, op_bxle = 0x87, op1_bxleg = 0xeb, op2_bxleg = 0x45, op1_bras = 0xa7, op2_bras = 0x05, op1_brasl = 0xc0, op2_brasl = 0x05, op1_brc = 0xa7, op2_brc = 0x04, op1_brcl = 0xc0, op2_brcl = 0x04, op1_brct = 0xa7, op2_brct = 0x06, op1_brctg = 0xa7, op2_brctg = 0x07, op_brxh = 0x84, op1_brxhg = 0xec, op2_brxhg = 0x44, op_brxle = 0x85, op1_brxlg = 0xec, op2_brxlg = 0x45, op_svc = 0x0a }

## Functions
static int | s390_register_call_saved (struct gdbarch *gdbarch, int regnum)
static int | s390_cannot_store_register (struct gdbarch *gdbarch, int regnum)
static void | s390_write_pc (struct regcache *regcache, CORE_ADDR pc)
static void | s390_guess_tracepoint_registers (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr)
static int | s390_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
static int | s390_adjust_frame_regnum (struct gdbarch *gdbarch, int num, int eh_frame_p)
static int | regnum_is_gpr_full (struct gdbarch_tdep *tdep, int regnum)
static int | regnum_is_vxr_full (struct gdbarch_tdep *tdep, int regnum)
static const char * | s390_register_name (struct gdbarch *gdbarch, int regnum)
static const char * | s390_pseudo_register_name (struct gdbarch *gdbarch, int regnum)
static struct type * | s390_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
static enum register_status | s390_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, gdb_byte *buf)
static void | s390_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf)
static struct value * | s390_value_from_register (struct gdbarch *gdbarch, struct type *type, int regnum, struct frame_id frame_id)
static int | s390_pseudo_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *group)
static int | s390_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int regnum)
static int | s390_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, struct agent_expr *ax, int regnum)
static void | s390_gen_return_address (struct gdbarch *gdbarch, struct agent_expr *ax, struct axs_value *value, CORE_ADDR scope)
static int | s390_is_partial_instruction (struct gdbarch *gdbarch, CORE_ADDR loc, int *len)
static std::vector< CORE_ADDR > | s390_software_single_step (struct regcache *regcache)
static int | s390_displaced_step_hw_singlestep (struct gdbarch *gdbarch, struct displaced_step_closure *closure)
static void | s390_supply_tdb_regset (const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
static void | s390_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
static const struct target_desc * | s390_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
static int | s390_readinstruction (bfd_byte instr[], CORE_ADDR at)
static int | is_ri (bfd_byte *insn, int op1, int op2, unsigned int *r1, int *i2)
static int | is_ril (bfd_byte *insn, int op1, int op2, unsigned int *r1, int *i2)
static int | is_rr (bfd_byte *insn, int op, unsigned int *r1, unsigned int *r2)
static int | is_rre (bfd_byte *insn, int op, unsigned int *r1, unsigned int *r2)
static int | is_rs (bfd_byte *insn, int op, unsigned int *r1, unsigned int *r3, int *d2, unsigned int *b2)
static int | is_rsy (bfd_byte *insn, int op1, int op2, unsigned int *r1, unsigned int *r3, int *d2, unsigned int *b2)
static int | is_rx (bfd_byte *insn, int op, unsigned int *r1, int *d2, unsigned int *x2, unsigned int *b2)
static int | is_rxy (bfd_byte *insn, int op1, int op2, unsigned int *r1, int *d2, unsigned int *x2, unsigned int *b2)
static pv_t | s390_addr (struct s390_prologue_data *data, int d2, unsigned int x2, unsigned int b2)
static void | s390_store (struct s390_prologue_data *data, int d2, unsigned int x2, unsigned int b2, CORE_ADDR size, pv_t value)
static pv_t | s390_load (struct s390_prologue_data *data, int d2, unsigned int x2, unsigned int b2, CORE_ADDR size)
static void | s390_check_for_saved (void *data_untyped, pv_t addr, CORE_ADDR size, pv_t value)
static CORE_ADDR | s390_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR current_pc, struct s390_prologue_data *data)
static CORE_ADDR | s390_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
static int | s390_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
static int | is_non_branch_ril (gdb_byte *insn)
static struct displaced_step_closure * | s390_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
static void | s390_displaced_step_fixup (struct gdbarch *gdbarch, struct displaced_step_closure *closure_, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
static struct value * | s390_unwind_pseudo_register (struct frame_info *this_frame, int regnum)
static struct value * | s390_trad_frame_prev_register (struct frame_info *this_frame, struct trad_frame_saved_reg saved_regs[], int regnum)
static int | s390_prologue_frame_unwind_cache (struct frame_info *this_frame, struct s390_unwind_cache *info)
static void | s390_backchain_frame_unwind_cache (struct frame_info *this_frame, struct s390_unwind_cache *info)
static struct s390_unwind_cache * | s390_frame_unwind_cache (struct frame_info *this_frame, void **this_prologue_cache)
static void | s390_frame_this_id (struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
static struct value * | s390_frame_prev_register (struct frame_info *this_frame, void **this_prologue_cache, int regnum)
static struct s390_stub_unwind_cache * | s390_stub_frame_unwind_cache (struct frame_info *this_frame, void **this_prologue_cache)
static void | s390_stub_frame_this_id (struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
static struct value * | s390_stub_frame_prev_register (struct frame_info *this_frame, void **this_prologue_cache, int regnum)
static int | s390_stub_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static struct s390_sigtramp_unwind_cache * | s390_sigtramp_frame_unwind_cache (struct frame_info *this_frame, void **this_prologue_cache)
static void | s390_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
static struct value * | s390_sigtramp_frame_prev_register (struct frame_info *this_frame, void **this_prologue_cache, int regnum)
static int | s390_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static LONGEST | s390_linux_get_syscall_number (struct gdbarch *gdbarch, ptid_t ptid)
static int | s390_all_but_pc_registers_record (struct regcache *regcache)
static enum gdb_syscall | s390_canonicalize_syscall (int syscall, enum s390_abi_kind abi)
static int | s390_linux_syscall_record (struct regcache *regcache, LONGEST syscall_native)
static int | s390_linux_record_signal (struct gdbarch *gdbarch, struct regcache *regcache, enum gdb_signal signal)
static CORE_ADDR | s390_frame_base_address (struct frame_info *this_frame, void **this_cache)
static CORE_ADDR | s390_local_base_address (struct frame_info *this_frame, void **this_cache)
static CORE_ADDR | s390_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
static CORE_ADDR | s390_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
static struct value * | s390_dwarf2_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static void | s390_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, struct frame_info *this_frame)
static struct type * | s390_effective_inner_type (struct type *type, unsigned int min_size)
static int | s390_function_arg_float (struct type *type)
static int | s390_function_arg_vector (struct type *type)
static int | is_power_of_two (unsigned int n)
static int | s390_function_arg_integer (struct type *type)
static void | s390_handle_arg (struct s390_arg_state *as, struct value *arg, struct gdbarch_tdep *tdep, int word_size, enum bfd_endian byte_order, int is_unnamed)
static CORE_ADDR | s390_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
static struct frame_id | s390_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
static CORE_ADDR | s390_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr)
static void | s390_register_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, gdb_byte *out, const gdb_byte *in)
static enum return_value_convention | s390_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *out, const gdb_byte *in)
typedef | BP_MANIPULATION (s390_break_insn)
static int | s390_address_class_type_flags (int byte_size, int dwarf2_addr_class)
static const char * | s390_address_class_type_flags_to_name (struct gdbarch *gdbarch, int type_flags)
static int | s390_address_class_name_to_type_flags (struct gdbarch *gdbarch, const char *name, int *type_flags_ptr)
static char * | s390_gcc_target_options (struct gdbarch *gdbarch)
static const char * | s390_gnu_triplet_regexp (struct gdbarch *gdbarch)
static int | s390_stap_is_single_operand (struct gdbarch *gdbarch, const char *s)
static CORE_ADDR | s390_record_address_mask (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR val)
static CORE_ADDR | s390_record_calc_disp_common (struct gdbarch *gdbarch, struct regcache *regcache, ULONGEST x, uint16_t bd, int8_t dh)
static CORE_ADDR | s390_record_calc_disp (struct gdbarch *gdbarch, struct regcache *regcache, uint8_t rx, uint16_t bd, int8_t dh)
static int | s390_record_calc_disp_vsce (struct gdbarch *gdbarch, struct regcache *regcache, uint8_t vx, uint8_t el, uint8_t es, uint16_t bd, int8_t dh, CORE_ADDR *res)
static CORE_ADDR | s390_record_calc_rl (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr, uint16_t i1, uint16_t i2)
static int | s390_popcnt (unsigned int x)
static int | s390_record_gpr_g (struct gdbarch *gdbarch, struct regcache *regcache, int i)
static int | s390_record_gpr_h (struct gdbarch *gdbarch, struct regcache *regcache, int i)
static int | s390_record_vr (struct gdbarch *gdbarch, struct regcache *regcache, int i)
static int | s390_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr)
static void | s390_init_linux_record_tdep (struct linux_record_tdep *record_tdep, enum s390_abi_kind abi)
static struct gdbarch * | s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
void | _initialize_s390_tdep (void)

## Variables
static char * | s390_disassembler_options
static const short | s390_dwarf_regmap []
static const struct regcache_map_entry | s390_gregmap []
static const struct regcache_map_entry | s390_fpregmap []
static const struct regcache_map_entry | s390_regmap_upper []
static const struct regcache_map_entry | s390_regmap_last_break []
static const struct regcache_map_entry | s390x_regmap_last_break []
static const struct regcache_map_entry | s390_regmap_system_call []
static const struct regcache_map_entry | s390_regmap_tdb []
static const struct regcache_map_entry | s390_regmap_vxrs_low []
static const struct regcache_map_entry | s390_regmap_vxrs_high []
static const struct regcache_map_entry | s390_regmap_gs []
static const struct regcache_map_entry | s390_regmap_gsbc []
const struct regset | s390_gregset
const struct regset | s390_fpregset
static const struct regset | s390_upper_regset
const struct regset | s390_last_break_regset
const struct regset | s390x_last_break_regset
const struct regset | s390_system_call_regset
const struct regset | s390_tdb_regset
const struct regset | s390_vxrs_low_regset
const struct regset | s390_vxrs_high_regset
const struct regset | s390_gs_regset
const struct regset | s390_gsbc_regset
static const struct frame_unwind | s390_frame_unwind
static const struct frame_unwind | s390_stub_frame_unwind
static const struct frame_unwind | s390_sigtramp_frame_unwind
static struct linux_record_tdep | s390_linux_record_tdep
static struct linux_record_tdep | s390x_linux_record_tdep
static const struct frame_base | s390_frame_base
constexpr gdb_byte | s390_break_insn [] = { 0x0, 0x1 }

## Macro Definition Documentation

## ◆ S390_MAX_INSTR_SIZE

#define S390_MAX_INSTR_SIZE 6

Definition at line 1129 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), s390_gdbarch_init(), and s390_stub_frame_sniffer().

## ◆ S390_NUM_FPRS

#define S390_NUM_FPRS 16

Definition at line 1303 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), and s390_check_for_saved().

## ◆ S390_NUM_GPRS

#define S390_NUM_GPRS 16

Definition at line 1302 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), and s390_check_for_saved().

## ◆ XML_SYSCALL_FILENAME_S390

#define XML_SYSCALL_FILENAME_S390 "syscalls/s390-linux.xml"

Definition at line 80 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## ◆ XML_SYSCALL_FILENAME_S390X

#define XML_SYSCALL_FILENAME_S390X "syscalls/s390x-linux.xml"

Definition at line 81 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## Typedef Documentation

## ◆ s390_displaced_step_closure

typedef buf_displaced_step_closure s390_displaced_step_closure

Definition at line 1864 of file s390-linux-tdep.c.

## Enumeration Type Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
s390_dwarf_reg_r0l |

Definition at line 260 of file s390-linux-tdep.c.

## ◆ anonymous enum

anonymous enum

Enumerator
op1_lhi |
op2_lhi |
op1_lghi |
op2_lghi |
op1_lgfi |
op2_lgfi |
op_lr |
op_lgr |
op_l |
op1_ly |
op2_ly |
op1_lg |
op2_lg |
op_lm |
op1_lmy |
op2_lmy |
op1_lmg |
op2_lmg |
op_st |
op1_sty |
op2_sty |
op1_stg |
op2_stg |
op_std |
op_stm |
op1_stmy |
op2_stmy |
op1_stmg |
op2_stmg |
op1_aghi |
op2_aghi |
op1_ahi |
op2_ahi |
op1_agfi |
op2_agfi |
op1_afi |
op2_afi |
op1_algfi |
op2_algfi |
op1_alfi |
op2_alfi |
op_ar |
op_agr |
op_a |
op1_ay |
op2_ay |
op1_ag |
op2_ag |
op1_slgfi |
op2_slgfi |
op1_slfi |
op2_slfi |
op_sr |
op_sgr |
op_s |
op1_sy |
op2_sy |
op1_sg |
op2_sg |
op_nr |
op_ngr |
op_la |
op1_lay |
op2_lay |
op1_larl |
op2_larl |
op_basr |
op_bas |
op_bcr |
op_bc |
op_bctr |
op_bctgr |
op_bct |
op1_bctg |
op2_bctg |
op_bxh |
op1_bxhg |
op2_bxhg |
op_bxle |
op1_bxleg |
op2_bxleg |
op1_bras |
op2_bras |
op1_brasl |
op2_brasl |
op1_brc |
op2_brc |
op1_brcl |
op2_brcl |
op1_brct |
op2_brct |
op1_brctg |
op2_brctg |
op_brxh |
op1_brxhg |
op2_brxhg |
op_brxle |
op1_brxlg |
op2_brxlg |
op_svc |

Definition at line 1058 of file s390-linux-tdep.c.

## ◆ s390_abi_kind

enum s390_abi_kind

Enumerator
ABI_LINUX_S390 |
ABI_LINUX_ZSERIES |

Definition at line 86 of file s390-linux-tdep.c.

## ◆ s390_vector_abi_kind

enum s390_vector_abi_kind

Enumerator
S390_VECTOR_ABI_NONE |
S390_VECTOR_ABI_128 |

Definition at line 92 of file s390-linux-tdep.c.

## Function Documentation

## ◆ _initialize_s390_tdep()

void _initialize_s390_tdep | ( | void |  | ) |

Definition at line 8232 of file s390-linux-tdep.c.

References initialize_tdesc_s390_gs_linux64(), initialize_tdesc_s390_linux32(), initialize_tdesc_s390_linux32v1(), initialize_tdesc_s390_linux32v2(), initialize_tdesc_s390_linux64(), initialize_tdesc_s390_linux64v1(), initialize_tdesc_s390_linux64v2(), initialize_tdesc_s390_te_linux64(), initialize_tdesc_s390_tevx_linux64(), initialize_tdesc_s390_vx_linux64(), initialize_tdesc_s390x_gs_linux64(), initialize_tdesc_s390x_linux64(), initialize_tdesc_s390x_linux64v1(), initialize_tdesc_s390x_linux64v2(), initialize_tdesc_s390x_te_linux64(), initialize_tdesc_s390x_tevx_linux64(), initialize_tdesc_s390x_vx_linux64(), register_gdbarch_init(), and s390_gdbarch_init().

## ◆ BP_MANIPULATION()

typedef BP_MANIPULATION | ( | s390_break_insn |  | ) |

Definition at line 3561 of file s390-linux-tdep.c.

References frame_info::addr.

## ◆ is_non_branch_ril()

static int is_non_branch_ril | ( | gdb_byte * | insn | ) |
| static

Definition at line 1815 of file s390-linux-tdep.c.

Referenced by s390_displaced_step_copy_insn().

## ◆ is_power_of_two()

static int is_power_of_two | ( | unsigned int | n | ) |
| static

Definition at line 3135 of file s390-linux-tdep.c.

Referenced by s390_function_arg_integer().

## ◆ is_ri()

static int is_ri | ( | bfd_byte * | insn,
|  | int | op1,
|  | int | op2,
|  | unsigned int * | r1,
|  | int * | i2
| ) |  |
| static

Definition at line 1162 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), and s390_displaced_step_fixup().

## ◆ is_ril()

static int is_ril | ( | bfd_byte * | insn,
|  | int | op1,
|  | int | op2,
|  | unsigned int * | r1,
|  | int * | i2
| ) |  |
| static

Definition at line 1177 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), and s390_displaced_step_fixup().

## ◆ is_rr()

static int is_rr | ( | bfd_byte * | insn,
|  | int | op,
|  | unsigned int * | r1,
|  | unsigned int * | r2
| ) |  |
| static

Definition at line 1198 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), and s390_displaced_step_fixup().

## ◆ is_rre()

static int is_rre | ( | bfd_byte * | insn,
|  | int | op,
|  | unsigned int * | r1,
|  | unsigned int * | r2
| ) |  |
| static

Definition at line 1212 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), and s390_displaced_step_fixup().

## ◆ is_rs()

static int is_rs | ( | bfd_byte * | insn,
|  | int | op,
|  | unsigned int * | r1,
|  | unsigned int * | r3,
|  | int * | d2,
|  | unsigned int * | b2
| ) |  |
| static

Definition at line 1227 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), s390_displaced_step_fixup(), and s390_stack_frame_destroyed_p().

## ◆ is_rsy()

static int is_rsy | ( | bfd_byte * | insn,
|  | int | op1,
|  | int | op2,
|  | unsigned int * | r1,
|  | unsigned int * | r3,
|  | int * | d2,
|  | unsigned int * | b2
| ) |  |
| static

Definition at line 1244 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), s390_displaced_step_fixup(), and s390_stack_frame_destroyed_p().

## ◆ is_rx()

static int is_rx | ( | bfd_byte * | insn,
|  | int | op,
|  | unsigned int * | r1,
|  | int * | d2,
|  | unsigned int * | x2,
|  | unsigned int * | b2
| ) |  |
| static

Definition at line 1264 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), and s390_displaced_step_fixup().

## ◆ is_rxy()

static int is_rxy | ( | bfd_byte * | insn,
|  | int | op1,
|  | int | op2,
|  | unsigned int * | r1,
|  | int * | d2,
|  | unsigned int * | x2,
|  | unsigned int * | b2
| ) |  |
| static

Definition at line 1281 of file s390-linux-tdep.c.

Referenced by s390_analyze_prologue(), and s390_displaced_step_fixup().

## ◆ regnum_is_gpr_full()

static int regnum_is_gpr_full | ( | struct gdbarch_tdep * | tdep,
|  | int | regnum
| ) |  |
| static

Definition at line 307 of file s390-linux-tdep.c.

References gdbarch_tdep::gpr_full_regnum, and regnum.

Referenced by s390_ax_pseudo_register_collect(), s390_ax_pseudo_register_push_stack(), s390_pseudo_register_name(), s390_pseudo_register_read(), s390_pseudo_register_type(), s390_pseudo_register_write(), and s390_unwind_pseudo_register().

## ◆ regnum_is_vxr_full()

static int regnum_is_vxr_full | ( | struct gdbarch_tdep * | tdep,
|  | int | regnum
| ) |  |
| static

Definition at line 318 of file s390-linux-tdep.c.

References regnum, and gdbarch_tdep::v0_full_regnum.

Referenced by s390_ax_pseudo_register_collect(), s390_ax_pseudo_register_push_stack(), s390_pseudo_register_name(), s390_pseudo_register_read(), s390_pseudo_register_reggroup_p(), s390_pseudo_register_type(), s390_pseudo_register_write(), and s390_value_from_register().

## ◆ s390_addr()

static pv_t s390_addr | ( | struct s390_prologue_data * | data,
|  | int | d2,
|  | unsigned int | x2,
|  | unsigned int | b2
| ) |  |
| static

Definition at line 1342 of file s390-linux-tdep.c.

References s390_prologue_data::gpr, pv_add(), and pv_constant().

Referenced by s390_analyze_prologue(), s390_load(), and s390_store().

## ◆ s390_address_class_name_to_type_flags()

static int s390_address_class_name_to_type_flags | ( | struct gdbarch * | gdbarch,
|  | const char * | name,
|  | int * | type_flags_ptr
| ) |  |
| static

Definition at line 3590 of file s390-linux-tdep.c.

References name, and TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.

Referenced by s390_gdbarch_init().

## ◆ s390_address_class_type_flags()

static int s390_address_class_type_flags | ( | int | byte_size,
|  | int | dwarf2_addr_class
| ) |  |
| static

Definition at line 3572 of file s390-linux-tdep.c.

References TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.

Referenced by s390_gdbarch_init().

## ◆ s390_address_class_type_flags_to_name()

static const char* s390_address_class_type_flags_to_name | ( | struct gdbarch * | gdbarch,
|  | int | type_flags
| ) |  |
| static

Definition at line 3581 of file s390-linux-tdep.c.

References TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.

Referenced by s390_gdbarch_init().

## ◆ s390_adjust_frame_regnum()

static int s390_adjust_frame_regnum | ( | struct gdbarch * | gdbarch,
|  | int | num,
|  | int | eh_frame_p
| ) |  |
| static

Definition at line 297 of file s390-linux-tdep.c.

References s390_dwarf_reg_r0l.

Referenced by s390_gdbarch_init().

## ◆ s390_all_but_pc_registers_record()

static int s390_all_but_pc_registers_record | ( | struct regcache * | regcache | ) |
| static

Definition at line 2698 of file s390-linux-tdep.c.

References regcache::arch(), gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, record_full_arch_list_add_reg(), S390_A0_REGNUM, S390_F0_REGNUM, S390_FPC_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, S390_R0_UPPER_REGNUM, S390_V0_LOWER_REGNUM, S390_V16_REGNUM, and gdbarch_tdep::v0_full_regnum.

Referenced by s390_linux_syscall_record().

## ◆ s390_analyze_prologue()

static CORE_ADDR s390_analyze_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | start_pc,
|  | CORE_ADDR | current_pc,
|  | struct s390_prologue_data * | data
| ) |  |
| static

Definition at line 1470 of file s390-linux-tdep.c.

References s390_prologue_data::back_chain_saved_p, s390_prologue_data::byte_order, dummy, s390_prologue_data::fpr, s390_prologue_data::fpr_size, s390_prologue_data::fpr_slot, gdbarch_addr_bit(), gdbarch_byte_order(), gdbarch_ptr_bit(), s390_prologue_data::gpr, s390_prologue_data::gpr_size, s390_prologue_data::gpr_slot, is_ri(), is_ril(), is_rr(), is_rre(), is_rs(), is_rsy(), is_rx(), is_rxy(), prologue_value::kind, make_scoped_restore(), op1_afi, op1_ag, op1_agfi, op1_aghi, op1_ahi, op1_alfi, op1_algfi, op1_ay, op1_bras, op1_brasl, op1_brc, op1_brcl, op1_larl, op1_lay, op1_lg, op1_lgfi, op1_lghi, op1_lhi, op1_ly, op1_sg, op1_slfi, op1_slgfi, op1_stg, op1_stmg, op1_stmy, op1_sty, op1_sy, op2_afi, op2_ag, op2_agfi, op2_aghi, op2_ahi, op2_alfi, op2_algfi, op2_ay, op2_bras, op2_brasl, op2_brc, op2_brcl, op2_larl, op2_lay, op2_lg, op2_lgfi, op2_lghi, op2_lhi, op2_ly, op2_sg, op2_slfi, op2_slgfi, op2_stg, op2_stmg, op2_stmy, op2_sty, op2_sy, op_a, op_agr, op_ar, op_bas, op_basr, op_bc, op_bcr, op_l, op_la, op_lgr, op_lr, op_s, op_sgr, op_sr, op_st, op_std, op_stm, pv_add(), pv_add_constant(), pv_constant(), pv_is_identical(), pv_is_register_k(), pv_register(), pv_subtract(), pvk_unknown, s390_addr(), s390_check_for_saved(), S390_F0_REGNUM, S390_FRAME_REGNUM, s390_load(), S390_MAX_INSTR_SIZE, S390_NUM_FPRS, S390_NUM_GPRS, S390_R0_REGNUM, s390_readinstruction(), S390_SP_REGNUM, s390_store(), pv_area::scan(), and s390_prologue_data::stack.

Referenced by s390_prologue_frame_unwind_cache(), and s390_skip_prologue().

## ◆ s390_ax_pseudo_register_collect()

static int s390_ax_pseudo_register_collect | ( | struct gdbarch * | gdbarch,
|  | struct agent_expr * | ax,
|  | int | regnum
| ) |  |
| static

Definition at line 571 of file s390-linux-tdep.c.

References _, ax_reg_mask(), gdbarch_tdep::cc_regnum, gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, internal_error(), gdbarch_tdep::pc_regnum, regnum, regnum_is_gpr_full(), regnum_is_vxr_full(), S390_F0_REGNUM, S390_PSWA_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, S390_R0_UPPER_REGNUM, S390_V0_LOWER_REGNUM, and gdbarch_tdep::v0_full_regnum.

Referenced by s390_gdbarch_init().

## ◆ s390_ax_pseudo_register_push_stack()

static int s390_ax_pseudo_register_push_stack | ( | struct gdbarch * | gdbarch,
|  | struct agent_expr * | ax,
|  | int | regnum
| ) |  |
| static

Definition at line 605 of file s390-linux-tdep.c.

References _, ax_const_l(), ax_reg(), ax_simple(), ax_zero_ext(), gdbarch_tdep::cc_regnum, gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, internal_error(), gdbarch_tdep::pc_regnum, register_size(), regnum, regnum_is_gpr_full(), regnum_is_vxr_full(), S390_PSWA_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, and S390_R0_UPPER_REGNUM.

Referenced by s390_gdbarch_init().

## ◆ s390_backchain_frame_unwind_cache()

static void s390_backchain_frame_unwind_cache | ( | struct frame_info * | this_frame,
|  | struct s390_unwind_cache * | info
| ) |  |
| static

Definition at line 2289 of file s390-linux-tdep.c.

References trad_frame_saved_reg::addr, gdbarch::byte_order, s390_unwind_cache::frame_base, s390_unwind_cache::func, gdbarch_byte_order(), gdbarch_ptr_bit(), get_frame_arch(), get_frame_pc(), get_frame_register_unsigned(), s390_unwind_cache::local_base, S390_NUM_REGS, S390_PSWA_REGNUM, S390_PSWM_REGNUM, s390_register_call_saved(), S390_RETADDR_REGNUM, S390_SP_REGNUM, safe_read_memory_integer(), s390_unwind_cache::saved_regs, and trad_frame_set_unknown().

Referenced by s390_frame_unwind_cache().

## ◆ s390_cannot_store_register()

static int s390_cannot_store_register | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |
| static

Definition at line 151 of file s390-linux-tdep.c.

References regnum, and S390_LAST_BREAK_REGNUM.

Referenced by s390_gdbarch_init().

## ◆ s390_canonicalize_syscall()

static enum gdb_syscall s390_canonicalize_syscall | ( | int | syscall,
|  | enum s390_abi_kind | abi
| ) |  |
| static

Definition at line 2732 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_S390, gdb_sys_add_key, gdb_sys_epoll_create, gdb_sys_epoll_ctl, gdb_sys_epoll_wait, gdb_sys_exit_group, gdb_sys_fadvise64, gdb_sys_fadvise64_64, gdb_sys_fstatat64, gdb_sys_fstatfs64, gdb_sys_futex, gdb_sys_gettid, gdb_sys_io_cancel, gdb_sys_io_destroy, gdb_sys_io_getevents, gdb_sys_io_setup, gdb_sys_io_submit, gdb_sys_keyctl, gdb_sys_lookup_dcookie, gdb_sys_newfstatat, gdb_sys_no_syscall, gdb_sys_readahead, gdb_sys_remap_file_pages, gdb_sys_request_key, gdb_sys_restart_syscall, gdb_sys_sched_getaffinity, gdb_sys_sched_setaffinity, gdb_sys_sendfile64, gdb_sys_set_tid_address, gdb_sys_statfs64, gdb_sys_tgkill, gdb_sys_tkill, and gdb_sys_waitid.

Referenced by s390_linux_syscall_record().

## ◆ s390_check_for_saved()

static void s390_check_for_saved | ( | void * | data_untyped,
|  | pv_t | addr,
|  | CORE_ADDR | size,
|  | pv_t | value
| ) |  |
| static

Definition at line 1427 of file s390-linux-tdep.c.

References s390_prologue_data::fpr_size, s390_prologue_data::fpr_slot, s390_prologue_data::gpr_size, s390_prologue_data::gpr_slot, prologue_value::k, offset, pv_is_register(), pv_is_register_k(), S390_F0_REGNUM, S390_NUM_FPRS, S390_NUM_GPRS, S390_R0_REGNUM, S390_SP_REGNUM, and size.

Referenced by s390_analyze_prologue().

## ◆ s390_core_read_description()

static const struct target_desc* s390_core_read_description | ( | struct gdbarch * | gdbarch,
|  | struct target_ops * | target,
|  | bfd * | abfd
| ) |  |
| static

Definition at line 1006 of file s390-linux-tdep.c.

References HWCAP_S390_GS, HWCAP_S390_TE, HWCAP_S390_VX, s390_sizeof_gregset, s390x_sizeof_gregset, target_auxv_search(), tdesc_s390_gs_linux64, tdesc_s390_linux32, tdesc_s390_linux32v1, tdesc_s390_linux32v2, tdesc_s390_linux64, tdesc_s390_linux64v1, tdesc_s390_linux64v2, tdesc_s390_te_linux64, tdesc_s390_tevx_linux64, tdesc_s390_vx_linux64, tdesc_s390x_gs_linux64, tdesc_s390x_linux64, tdesc_s390x_linux64v1, tdesc_s390x_linux64v2, tdesc_s390x_te_linux64, tdesc_s390x_tevx_linux64, and tdesc_s390x_vx_linux64.

Referenced by s390_gdbarch_init().

## ◆ s390_displaced_step_copy_insn()

static struct displaced_step_closure* s390_displaced_step_copy_insn | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | from,
|  | CORE_ADDR | to,
|  | struct regcache * | regs
| ) |  |
| static

Definition at line 1869 of file s390-linux-tdep.c.

References debug_displaced, displaced_step_dump_bytes(), extract_signed_integer(), fprintf_unfiltered(), gdb_stdlog, gdbarch_max_insn_length(), INT32_MAX, is_non_branch_ril(), offset, paddress(), plongest(), read_memory(), store_signed_integer(), and write_memory().

Referenced by s390_gdbarch_init().

## ◆ s390_displaced_step_fixup()

static void s390_displaced_step_fixup | ( | struct gdbarch * | gdbarch,
|  | struct displaced_step_closure * | closure_,
|  | CORE_ADDR | from,
|  | CORE_ADDR | to,
|  | struct regcache * | regs
| ) |  |
| static

Definition at line 1926 of file s390-linux-tdep.c.

References buf_displaced_step_closure::buf, debug_displaced, fprintf_unfiltered(), gdb_stdlog, is_ri(), is_ril(), is_rr(), is_rre(), is_rs(), is_rsy(), is_rx(), is_rxy(), op1_bctg, op1_bras, op1_brasl, op1_bxhg, op1_bxleg, op1_larl, op2_bras, op2_brasl, op2_brctg, op2_bxhg, op2_bxleg, op2_larl, op_bas, op_basr, op_bc, op_bcr, op_bct, op_bctgr, op_bctr, op_bxh, op_bxle, paddress(), regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), regcache_read_pc(), regcache_write_pc(), register_size(), S390_PSWA_REGNUM, and S390_R0_REGNUM.

Referenced by s390_gdbarch_init().

## ◆ s390_displaced_step_hw_singlestep()

static int s390_displaced_step_hw_singlestep | ( | struct gdbarch * | gdbarch,
|  | struct displaced_step_closure * | closure
| ) |  |
| static

Definition at line 765 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## ◆ s390_dummy_id()

static struct frame_id s390_dummy_id | ( | struct gdbarch * | gdbarch,
|  | struct frame_info * | this_frame
| ) |  |
| static

Definition at line 3426 of file s390-linux-tdep.c.

References frame_id_build(), gdbarch_addr_bits_remove(), gdbarch_ptr_bit(), get_frame_pc(), get_frame_register_unsigned(), and S390_SP_REGNUM.

Referenced by s390_gdbarch_init().

## ◆ s390_dwarf2_frame_init_reg()

static void s390_dwarf2_frame_init_reg | ( | struct gdbarch * | gdbarch,
|  | int | regnum,
|  | struct dwarf2_frame_state_reg * | reg,
|  | struct frame_info * | this_frame
| ) |  |
| static

Definition at line 3039 of file s390-linux-tdep.c.

References DWARF2_FRAME_REG_FN, DWARF2_FRAME_REG_RA, DWARF2_FRAME_REG_SAME_VALUE, DWARF2_FRAME_REG_UNDEFINED, regnum, s390_dwarf2_prev_register(), S390_NUM_REGS, S390_PSWA_REGNUM, S390_PSWM_REGNUM, and s390_register_call_saved().

Referenced by s390_gdbarch_init().

## ◆ s390_dwarf2_prev_register()

static struct value* s390_dwarf2_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 3032 of file s390-linux-tdep.c.

References regnum, and s390_unwind_pseudo_register().

Referenced by s390_dwarf2_frame_init_reg().

## ◆ s390_dwarf_reg_to_regnum()

static int s390_dwarf_reg_to_regnum | ( | struct gdbarch * | gdbarch,
|  | int | reg
| ) |  |
| static

Definition at line 265 of file s390-linux-tdep.c.

References gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, s390_dwarf_regmap, S390_F0_REGNUM, S390_F15_REGNUM, S390_V16_REGNUM, S390_V31_REGNUM, and gdbarch_tdep::v0_full_regnum.

Referenced by s390_gdbarch_init().

## ◆ s390_effective_inner_type()

static struct type* s390_effective_inner_type | ( | struct type * | type,
|  | unsigned int | min_size
| ) |  |
| static

Definition at line 3084 of file s390-linux-tdep.c.

References check_typedef(), type, TYPE_CODE, TYPE_CODE_STRUCT, TYPE_FIELD_TYPE, TYPE_LENGTH, and TYPE_NFIELDS.

Referenced by s390_function_arg_float(), and s390_function_arg_vector().

## ◆ s390_frame_align()

static CORE_ADDR s390_frame_align | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | addr
| ) |  |
| static

Definition at line 3437 of file s390-linux-tdep.c.

References frame_info::addr.

Referenced by s390_gdbarch_init().

## ◆ s390_frame_base_address()

static CORE_ADDR s390_frame_base_address | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2989 of file s390-linux-tdep.c.

References s390_unwind_cache::frame_base, and s390_frame_unwind_cache().

## ◆ s390_frame_prev_register()

static struct value* s390_frame_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 2394 of file s390-linux-tdep.c.

References regnum, s390_frame_unwind_cache(), s390_trad_frame_prev_register(), and s390_unwind_cache::saved_regs.

## ◆ s390_frame_this_id()

static void s390_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2376 of file s390-linux-tdep.c.

References s390_unwind_cache::frame_base, frame_id_build(), frame_id_build_unavailable_stack(), s390_unwind_cache::func, and s390_frame_unwind_cache().

## ◆ s390_frame_unwind_cache()

static struct s390_unwind_cache* s390_frame_unwind_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 2343 of file s390-linux-tdep.c.

References CATCH, END_CATCH, s390_unwind_cache::frame_base, FRAME_OBSTACK_ZALLOC, s390_unwind_cache::func, s390_unwind_cache::local_base, NOT_AVAILABLE_ERROR, RETURN_MASK_ERROR, s390_backchain_frame_unwind_cache(), s390_prologue_frame_unwind_cache(), s390_unwind_cache::saved_regs, throw_exception(), trad_frame_alloc_saved_regs(), and TRY.

Referenced by s390_frame_base_address(), s390_frame_prev_register(), s390_frame_this_id(), and s390_local_base_address().

## ◆ s390_function_arg_float()

static int s390_function_arg_float | ( | struct type * | type | ) |
| static

Definition at line 3103 of file s390-linux-tdep.c.

References s390_effective_inner_type(), TYPE_CODE, TYPE_CODE_DECFLOAT, TYPE_CODE_FLT, and TYPE_LENGTH.

Referenced by s390_handle_arg().

## ◆ s390_function_arg_integer()

static int s390_function_arg_integer | ( | struct type * | type | ) |
| static

Definition at line 3145 of file s390-linux-tdep.c.

References code, is_power_of_two(), TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_IS_REFERENCE, and TYPE_LENGTH.

Referenced by s390_handle_arg().

## ◆ s390_function_arg_vector()

static int s390_function_arg_vector | ( | struct type * | type | ) |
| static

Definition at line 3121 of file s390-linux-tdep.c.

References s390_effective_inner_type(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_LENGTH, and TYPE_VECTOR.

Referenced by s390_handle_arg().

## ◆ s390_gcc_target_options()

static char* s390_gcc_target_options | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 3607 of file s390-linux-tdep.c.

References gdbarch_ptr_bit().

Referenced by s390_gdbarch_init().

## ◆ s390_gdbarch_init()

static struct gdbarch* s390_gdbarch_init | ( | struct gdbarch_info | info,
|  | struct gdbarch_list * | arches
| ) |  |
| static

Definition at line 7811 of file s390-linux-tdep.c.

References gdbarch_info::abfd, gdbarch_tdep::abi, ABI_LINUX_S390, ABI_LINUX_ZSERIES, gdbarch_info::bfd_arch_info, gdbarch_tdep::cc_regnum, core_addr_lessthan(), dwarf2_append_unwinders(), dwarf2_frame_base_sniffer(), dwarf2_frame_set_adjust_regnum(), dwarf2_frame_set_init_reg(), find_solib_trampoline_target(), floatformats_ia64_quad, frame_base_append_sniffer(), frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_list_lookup_by_info(), gdbarch_num_regs(), gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, gdbarch_tdep::have_gs, gdbarch_tdep::have_linux_v1, gdbarch_tdep::have_linux_v2, gdbarch_tdep::have_tdb, linux_displaced_step_location(), linux_init_abi(), gdbarch_list::next, gdbarch_tdep::pc_regnum, S390_A0_REGNUM, s390_address_class_name_to_type_flags(), s390_address_class_type_flags(), s390_address_class_type_flags_to_name(), s390_adjust_frame_regnum(), s390_ax_pseudo_register_collect(), s390_ax_pseudo_register_push_stack(), S390_BC_GSD_REGNUM, s390_cannot_store_register(), s390_core_read_description(), s390_disassembler_options, s390_displaced_step_copy_insn(), s390_displaced_step_fixup(), s390_displaced_step_hw_singlestep(), s390_dummy_id(), s390_dwarf2_frame_init_reg(), s390_dwarf_reg_to_regnum(), S390_F0_REGNUM, S390_FPC_REGNUM, s390_frame_align(), s390_frame_base, s390_frame_unwind, s390_gcc_target_options(), s390_gen_return_address(), s390_gnu_triplet_regexp(), S390_GSD_REGNUM, s390_guess_tracepoint_registers(), s390_init_linux_record_tdep(), s390_iterate_over_regset_sections(), S390_LAST_BREAK_REGNUM, s390_linux_get_syscall_number(), s390_linux_record_signal(), s390_linux_record_tdep, S390_MAX_INSTR_SIZE, S390_NUM_REGS, S390_ORIG_R2_REGNUM, s390_process_record(), s390_pseudo_register_name(), s390_pseudo_register_read(), s390_pseudo_register_reggroup_p(), s390_pseudo_register_type(), s390_pseudo_register_write(), S390_PSWA_REGNUM, S390_PSWM_REGNUM, s390_push_dummy_call(), S390_R0_REGNUM, S390_R0_UPPER_REGNUM, s390_register_name(), s390_return_value(), s390_sigtramp_frame_unwind, s390_skip_prologue(), s390_software_single_step(), S390_SP_REGNUM, s390_stack_frame_destroyed_p(), s390_stap_is_single_operand(), s390_stub_frame_unwind, S390_SYSTEM_CALL_REGNUM, S390_TDB_DWORD0_REGNUM, s390_unwind_pc(), s390_unwind_sp(), S390_V0_LOWER_REGNUM, S390_V16_REGNUM, s390_value_from_register(), S390_VECTOR_ABI_128, S390_VECTOR_ABI_NONE, s390_write_pc(), s390x_linux_record_tdep, set_gdbarch_addr_bits_remove(), set_gdbarch_address_class_name_to_type_flags(), set_gdbarch_address_class_type_flags(), set_gdbarch_address_class_type_flags_to_name(), set_gdbarch_ax_pseudo_register_collect(), set_gdbarch_ax_pseudo_register_push_stack(), set_gdbarch_believe_pcc_promotion(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_cannot_store_register(), set_gdbarch_char_signed(), set_gdbarch_core_read_description(), set_gdbarch_decr_pc_after_break(), set_gdbarch_disassembler_options(), set_gdbarch_displaced_step_copy_insn(), set_gdbarch_displaced_step_fixup(), set_gdbarch_displaced_step_hw_singlestep(), set_gdbarch_displaced_step_location(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_gcc_target_options(), set_gdbarch_gen_return_address(), set_gdbarch_get_syscall_number(), set_gdbarch_gnu_triplet_regexp(), set_gdbarch_guess_tracepoint_registers(), set_gdbarch_inner_than(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_long_long_bit(), set_gdbarch_max_insn_length(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_process_record(), set_gdbarch_process_record_signal(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_register_name(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_skip_trampoline_code(), set_gdbarch_software_single_step(), set_gdbarch_sp_regnum(), set_gdbarch_stab_reg_to_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_stap_is_single_operand(), set_gdbarch_stap_register_indirection_prefixes(), set_gdbarch_stap_register_indirection_suffixes(), set_gdbarch_stap_register_prefixes(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), set_gdbarch_valid_disassembler_options(), set_gdbarch_value_from_register(), set_gdbarch_write_pc(), set_solib_svr4_fetch_link_map_offsets(), set_tdesc_pseudo_register_name(), set_tdesc_pseudo_register_reggroup_p(), set_tdesc_pseudo_register_type(), set_xml_syscall_file_name(), svr4_fetch_objfile_link_map(), svr4_ilp32_fetch_link_map_offsets(), svr4_lp64_fetch_link_map_offsets(), gdbarch_info::target_desc, gdbarch_tdep::tdesc, tdesc_data, tdesc_data_alloc(), tdesc_data_cleanup(), tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), tdesc_s390_linux32, tdesc_s390x_linux64, tdesc_unnumbered_register(), tdesc_use_registers(), gdbarch_tdep::v0_full_regnum, gdbarch_tdep::vector_abi, XCNEW, XML_SYSCALL_FILENAME_S390, and XML_SYSCALL_FILENAME_S390X.

Referenced by _initialize_s390_tdep().

## ◆ s390_gen_return_address()

static void s390_gen_return_address | ( | struct gdbarch * | gdbarch,
|  | struct agent_expr * | ax,
|  | struct axs_value * | value,
|  | CORE_ADDR | scope
| ) |  |
| static

Definition at line 653 of file s390-linux-tdep.c.

References axs_lvalue_register, value::reg, register_type(), S390_R14_REGNUM, and value::type.

Referenced by s390_gdbarch_init().

## ◆ s390_gnu_triplet_regexp()

static const char* s390_gnu_triplet_regexp | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 3618 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## ◆ s390_guess_tracepoint_registers()

static void s390_guess_tracepoint_registers | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | CORE_ADDR | addr
| ) |  |
| static

Definition at line 179 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_S390, gdbarch_byte_order(), gdbarch_tdep(), regcache_raw_supply(), register_size(), S390_PSWA_REGNUM, S390_PSWM_REGNUM, and store_unsigned_integer().

Referenced by s390_gdbarch_init().

## ◆ s390_handle_arg()

static void s390_handle_arg | ( | struct s390_arg_state * | as,
|  | struct value * | arg,
|  | struct gdbarch_tdep * | tdep,
|  | int | word_size,
|  | enum bfd_endian | byte_order,
|  | int | is_unnamed
| ) |  |
| static

Definition at line 3187 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_S390, align_down(), align_up(), s390_arg_state::argp, check_typedef(), s390_arg_state::copy, extract_signed_integer(), extract_unsigned_integer(), s390_arg_state::fr, s390_arg_state::gr, type::length, s390_arg_state::regcache, regcache_cooked_write(), regcache_cooked_write_part(), regcache_cooked_write_unsigned(), regnum, S390_F0_REGNUM, s390_function_arg_float(), s390_function_arg_integer(), s390_function_arg_vector(), S390_R0_REGNUM, S390_V24_REGNUM, S390_VECTOR_ABI_128, TYPE_LENGTH, TYPE_UNSIGNED, value_contents(), value_type(), gdbarch_tdep::vector_abi, s390_arg_state::vr, write_memory(), and write_memory_unsigned_integer().

Referenced by s390_push_dummy_call().

## ◆ s390_init_linux_record_tdep()

static void s390_init_linux_record_tdep | ( | struct linux_record_tdep * | record_tdep,
|  | enum s390_abi_kind | abi
| ) |  |
| static

Definition at line 7587 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_S390, ABI_LINUX_ZSERIES, linux_record_tdep::arg1, linux_record_tdep::arg2, linux_record_tdep::arg3, linux_record_tdep::arg4, linux_record_tdep::arg5, linux_record_tdep::fcntl_F_GETLK, linux_record_tdep::fcntl_F_GETLK64, linux_record_tdep::fcntl_F_SETLK64, linux_record_tdep::fcntl_F_SETLKW64, linux_record_tdep::ioctl_FIOASYNC, linux_record_tdep::ioctl_FIOCLEX, linux_record_tdep::ioctl_FIONBIO, linux_record_tdep::ioctl_FIONCLEX, linux_record_tdep::ioctl_FIONREAD, linux_record_tdep::ioctl_FIOQSIZE, linux_record_tdep::ioctl_TCFLSH, linux_record_tdep::ioctl_TCGETA, linux_record_tdep::ioctl_TCGETS, linux_record_tdep::ioctl_TCGETS2, linux_record_tdep::ioctl_TCSBRK, linux_record_tdep::ioctl_TCSBRKP, linux_record_tdep::ioctl_TCSETA, linux_record_tdep::ioctl_TCSETAF, linux_record_tdep::ioctl_TCSETAW, linux_record_tdep::ioctl_TCSETS, linux_record_tdep::ioctl_TCSETS2, linux_record_tdep::ioctl_TCSETSF, linux_record_tdep::ioctl_TCSETSF2, linux_record_tdep::ioctl_TCSETSW, linux_record_tdep::ioctl_TCSETSW2, linux_record_tdep::ioctl_TCXONC, linux_record_tdep::ioctl_TIOCCBRK, linux_record_tdep::ioctl_TIOCCONS, linux_record_tdep::ioctl_TIOCEXCL, linux_record_tdep::ioctl_TIOCGETD, linux_record_tdep::ioctl_TIOCGICOUNT, linux_record_tdep::ioctl_TIOCGLCKTRMIOS, linux_record_tdep::ioctl_TIOCGPGRP, linux_record_tdep::ioctl_TIOCGPTN, linux_record_tdep::ioctl_TIOCGSERIAL, linux_record_tdep::ioctl_TIOCGSID, linux_record_tdep::ioctl_TIOCGSOFTCAR, linux_record_tdep::ioctl_TIOCGWINSZ, linux_record_tdep::ioctl_TIOCINQ, linux_record_tdep::ioctl_TIOCLINUX, linux_record_tdep::ioctl_TIOCMBIC, linux_record_tdep::ioctl_TIOCMBIS, linux_record_tdep::ioctl_TIOCMGET, linux_record_tdep::ioctl_TIOCMIWAIT, linux_record_tdep::ioctl_TIOCMSET, linux_record_tdep::ioctl_TIOCNOTTY, linux_record_tdep::ioctl_TIOCNXCL, linux_record_tdep::ioctl_TIOCOUTQ, linux_record_tdep::ioctl_TIOCPKT, linux_record_tdep::ioctl_TIOCSBRK, linux_record_tdep::ioctl_TIOCSCTTY, linux_record_tdep::ioctl_TIOCSERCONFIG, linux_record_tdep::ioctl_TIOCSERGETLSR, linux_record_tdep::ioctl_TIOCSERGETMULTI, linux_record_tdep::ioctl_TIOCSERGSTRUCT, linux_record_tdep::ioctl_TIOCSERGWILD, linux_record_tdep::ioctl_TIOCSERSETMULTI, linux_record_tdep::ioctl_TIOCSERSWILD, linux_record_tdep::ioctl_TIOCSETD, linux_record_tdep::ioctl_TIOCSLCKTRMIOS, linux_record_tdep::ioctl_TIOCSPGRP, linux_record_tdep::ioctl_TIOCSPTLCK, linux_record_tdep::ioctl_TIOCSSERIAL, linux_record_tdep::ioctl_TIOCSSOFTCAR, linux_record_tdep::ioctl_TIOCSTI, linux_record_tdep::ioctl_TIOCSWINSZ, S390_R2_REGNUM, S390_R3_REGNUM, S390_R4_REGNUM, S390_R5_REGNUM, S390_R6_REGNUM, linux_record_tdep::size__old_kernel_stat, linux_record_tdep::size_cap_user_data_t, linux_record_tdep::size_epoll_event, linux_record_tdep::size_fd_set, linux_record_tdep::size_flock, linux_record_tdep::size_flock64, linux_record_tdep::size_fs_quota_stat, linux_record_tdep::size_gid_t, linux_record_tdep::size_if_dqblk, linux_record_tdep::size_int, linux_record_tdep::size_io_event, linux_record_tdep::size_iocb, linux_record_tdep::size_iovec, linux_record_tdep::size_itimerspec, linux_record_tdep::size_itimerval, linux_record_tdep::size_knfsd_fh, linux_record_tdep::size_loff_t, linux_record_tdep::size_long, linux_record_tdep::size_mem_dqinfo, linux_record_tdep::size_mq_attr, linux_record_tdep::size_msghdr, linux_record_tdep::size_msqid_ds, linux_record_tdep::size_new_utsname, linux_record_tdep::size_NFS_FHSIZE, linux_record_tdep::size_off_t, linux_record_tdep::size_old_dirent, linux_record_tdep::size_old_gid_t, linux_record_tdep::size_old_sigaction, linux_record_tdep::size_old_sigset_t, linux_record_tdep::size_old_uid_t, linux_record_tdep::size_PAGE_SIZE, linux_record_tdep::size_pid_t, linux_record_tdep::size_pointer, linux_record_tdep::size_pollfd, linux_record_tdep::size_rlimit, linux_record_tdep::size_rusage, linux_record_tdep::size_serial_icounter_struct, linux_record_tdep::size_serial_struct, linux_record_tdep::size_shmid_ds, linux_record_tdep::size_sigaction, linux_record_tdep::size_siginfo_t, linux_record_tdep::size_sigset_t, linux_record_tdep::size_size_t, linux_record_tdep::size_sockaddr, linux_record_tdep::size_stack_t, linux_record_tdep::size_stat, linux_record_tdep::size_stat64, linux_record_tdep::size_statfs, linux_record_tdep::size_statfs64, linux_record_tdep::size_sysinfo, linux_record_tdep::size_TASK_COMM_LEN, linux_record_tdep::size_termios, linux_record_tdep::size_termios2, linux_record_tdep::size_time_t, linux_record_tdep::size_timespec, linux_record_tdep::size_timeval, linux_record_tdep::size_timex, linux_record_tdep::size_timezone, linux_record_tdep::size_tms, linux_record_tdep::size_uid_t, linux_record_tdep::size_ulong, linux_record_tdep::size_ustat, and linux_record_tdep::size_winsize.

Referenced by s390_gdbarch_init().

## ◆ s390_is_partial_instruction()

static int s390_is_partial_instruction | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | loc,
|  | int * | len
| ) |  |
| static

Definition at line 669 of file s390-linux-tdep.c.

References gdbarch_byte_order(), loc, and read_memory_integer().

Referenced by s390_software_single_step().

## ◆ s390_iterate_over_regset_sections()

static void s390_iterate_over_regset_sections | ( | struct gdbarch * | gdbarch,
|  | iterate_over_regset_sections_cb * | cb,
|  | void * | cb_data,
|  | const struct regcache * | regcache
| ) |  |
| static

Definition at line 943 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_S390, gdbarch_ptr_bit(), gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, gdbarch_tdep::have_gs, gdbarch_tdep::have_linux_v1, gdbarch_tdep::have_linux_v2, gdbarch_tdep::have_tdb, REG_VALID, regcache_register_status(), S390_BC_GSD_REGNUM, s390_fpregset, s390_gregset, s390_gs_regset, s390_gsbc_regset, S390_GSD_REGNUM, s390_last_break_regset, s390_sizeof_fpregset, s390_sizeof_gregset, s390_sizeof_tdbregset, s390_system_call_regset, S390_TDB_DWORD0_REGNUM, s390_tdb_regset, s390_upper_regset, s390_vxrs_high_regset, s390_vxrs_low_regset, s390x_last_break_regset, s390x_sizeof_gregset, and gdbarch_tdep::v0_full_regnum.

Referenced by s390_gdbarch_init().

## ◆ s390_linux_get_syscall_number()

static LONGEST s390_linux_get_syscall_number | ( | struct gdbarch * | gdbarch,
|  | ptid_t | ptid
| ) |  |
| static

Definition at line 2664 of file s390-linux-tdep.c.

References gdbarch_byte_order(), gdbarch_tdep(), get_thread_regcache(), op_svc, gdbarch_tdep::pc, gdbarch_tdep::pc_regnum, regcache::ptid(), read_memory_unsigned_integer(), regcache_cooked_read_unsigned(), gdbarch_tdep::regs, and S390_R1_REGNUM.

Referenced by s390_gdbarch_init().

## ◆ s390_linux_record_signal()

static int s390_linux_record_signal | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | enum gdb_signal | signal
| ) |  |
| static

Definition at line 2948 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_ZSERIES, gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), regcache_raw_read_unsigned(), S390_PSWA_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, S390_R0_UPPER_REGNUM, S390_SP_REGNUM, and gdbarch_tdep::sp.

Referenced by s390_gdbarch_init().

## ◆ s390_linux_syscall_record()

static int s390_linux_syscall_record | ( | struct regcache * | regcache,
|  | LONGEST | syscall_native
| ) |  |
| static

Definition at line 2900 of file s390-linux-tdep.c.

References _, gdbarch_tdep::abi, ABI_LINUX_ZSERIES, regcache::arch(), gdb_sys_rt_sigreturn, gdb_sys_sigreturn, gdbarch_tdep(), plongest(), printf_unfiltered(), record_full_arch_list_add_reg(), record_linux_system_call(), regcache_raw_read_signed(), s390_all_but_pc_registers_record(), s390_canonicalize_syscall(), s390_linux_record_tdep, S390_R1_REGNUM, S390_R2_REGNUM, and s390x_linux_record_tdep.

Referenced by s390_process_record().

## ◆ s390_load()

static pv_t s390_load | ( | struct s390_prologue_data * | data,
|  | int | d2,
|  | unsigned int | x2,
|  | unsigned int | b2,
|  | CORE_ADDR | size
| ) |  |
| static

Definition at line 1392 of file s390-linux-tdep.c.

References target_section::addr, s390_prologue_data::byte_order, current_target, pv_area::fetch(), pv_constant(), pv_is_constant(), read_memory_integer(), s390_addr(), size, s390_prologue_data::stack, target_section_by_addr(), and target_section::the_bfd_section.

Referenced by s390_analyze_prologue().

## ◆ s390_local_base_address()

static CORE_ADDR s390_local_base_address | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2997 of file s390-linux-tdep.c.

References s390_unwind_cache::local_base, and s390_frame_unwind_cache().

## ◆ s390_popcnt()

static int s390_popcnt | ( | unsigned int | x | ) |
| static

Definition at line 3737 of file s390-linux-tdep.c.

Referenced by s390_process_record().

## ◆ s390_process_record()

static int s390_process_record | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | CORE_ADDR | addr
| ) |  |
| static

Definition at line 3802 of file s390-linux-tdep.c.

References extract_unsigned_integer(), fprintf_unfiltered(), gdb_stdlog, gdbarch_byte_order(), paddress(), read_memory_unsigned_integer(), record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), regcache_raw_read_unsigned(), S390_A0_REGNUM, S390_F0_REGNUM, S390_F2_REGNUM, S390_FPC_REGNUM, s390_linux_syscall_record(), s390_popcnt(), S390_PSWA_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, S390_R1_REGNUM, S390_R2_REGNUM, s390_record_address_mask(), s390_record_calc_disp(), s390_record_calc_disp_vsce(), s390_record_calc_rl(), s390_record_gpr_g(), s390_record_gpr_h(), s390_record_vr(), S390_TDB_ABORT_CODE_REGNUM, S390_TDB_ATIA_REGNUM, S390_TDB_CONFLICT_TOKEN_REGNUM, S390_TDB_DWORD0_REGNUM, S390_TDB_R0_REGNUM, and target_read_memory().

Referenced by s390_gdbarch_init().

## ◆ s390_prologue_frame_unwind_cache()

static int s390_prologue_frame_unwind_cache | ( | struct frame_info * | this_frame,
|  | struct s390_unwind_cache * | info
| ) |  |
| static

Definition at line 2104 of file s390-linux-tdep.c.

References trad_frame_saved_reg::addr, s390_prologue_data::fpr_slot, s390_unwind_cache::frame_base, func, s390_unwind_cache::func, gdbarch_addr_bits_remove(), gdbarch_ptr_bit(), get_frame_arch(), get_frame_func_if_available(), get_frame_pc(), get_frame_register_unsigned(), get_frame_type(), get_next_frame(), get_pc_function_start(), s390_prologue_data::gpr, s390_prologue_data::gpr_slot, INLINE_FRAME, prologue_value::k, s390_unwind_cache::local_base, memset(), NORMAL_FRAME, pv_is_identical(), pv_is_register(), trad_frame_saved_reg::realreg, s390_analyze_prologue(), S390_F0_REGNUM, S390_FRAME_REGNUM, S390_NUM_REGS, S390_PSWA_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, s390_register_call_saved(), S390_RETADDR_REGNUM, S390_SP_REGNUM, s390_stack_frame_destroyed_p(), s390_unwind_cache::saved_regs, size, trad_frame_addr_p(), and trad_frame_set_unknown().

Referenced by s390_frame_unwind_cache().

## ◆ s390_pseudo_register_name()

static const char* s390_pseudo_register_name | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |
| static

Definition at line 338 of file s390-linux-tdep.c.

References _, gdbarch_tdep::cc_regnum, gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, internal_error(), gdbarch_tdep::pc_regnum, regnum, regnum_is_gpr_full(), regnum_is_vxr_full(), and gdbarch_tdep::v0_full_regnum.

Referenced by s390_gdbarch_init().

## ◆ s390_pseudo_register_read()

static enum register_status s390_pseudo_register_read | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | gdb_byte * | buf
| ) |  |
| static

Definition at line 390 of file s390-linux-tdep.c.

References _, gdbarch_tdep::cc_regnum, gdbarch_byte_order(), gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, internal_error(), gdbarch_tdep::pc_regnum, REG_VALID, regcache_raw_read(), regcache_raw_read_unsigned(), register_size(), regnum, regnum_is_gpr_full(), regnum_is_vxr_full(), S390_F0_REGNUM, S390_PSWA_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, S390_R0_UPPER_REGNUM, S390_V0_LOWER_REGNUM, status, store_unsigned_integer(), and gdbarch_tdep::v0_full_regnum.

Referenced by s390_gdbarch_init().

## ◆ s390_pseudo_register_reggroup_p()

static int s390_pseudo_register_reggroup_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum,
|  | struct reggroup * | group
| ) |  |
| static

Definition at line 543 of file s390-linux-tdep.c.

References gdbarch_tdep::cc_regnum, default_register_reggroup_p(), gdbarch_tdep(), general_reggroup, gdbarch_tdep::pc_regnum, regnum, regnum_is_vxr_full(), restore_reggroup, save_reggroup, and vector_reggroup.

Referenced by s390_gdbarch_init().

## ◆ s390_pseudo_register_type()

static struct type* s390_pseudo_register_type | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |
| static

Definition at line 370 of file s390-linux-tdep.c.

References _, builtin_type::builtin_func_ptr, builtin_type::builtin_int, builtin_type(), builtin_type::builtin_uint64, gdbarch_tdep::cc_regnum, gdbarch_tdep(), internal_error(), gdbarch_tdep::pc_regnum, regnum, regnum_is_gpr_full(), regnum_is_vxr_full(), and tdesc_find_type().

Referenced by s390_gdbarch_init().

## ◆ s390_pseudo_register_write()

static void s390_pseudo_register_write | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const gdb_byte * | buf
| ) |  |
| static

Definition at line 464 of file s390-linux-tdep.c.

References _, gdbarch_tdep::cc_regnum, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_tdep(), gdbarch_tdep::gpr_full_regnum, internal_error(), gdbarch_tdep::pc_regnum, regcache_raw_read_unsigned(), regcache_raw_write(), regcache_raw_write_unsigned(), register_size(), regnum, regnum_is_gpr_full(), regnum_is_vxr_full(), S390_F0_REGNUM, S390_PSWA_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, S390_R0_UPPER_REGNUM, S390_V0_LOWER_REGNUM, and gdbarch_tdep::v0_full_regnum.

Referenced by s390_gdbarch_init().

## ◆ s390_push_dummy_call()

static CORE_ADDR s390_push_dummy_call | ( | struct gdbarch * | gdbarch,
|  | struct value * | function,
|  | struct regcache * | regcache,
|  | CORE_ADDR | bp_addr,
|  | int | nargs,
|  | struct value ** | args,
|  | CORE_ADDR | sp,
|  | int | struct_return,
|  | CORE_ADDR | struct_addr
| ) |  |
| static

Definition at line 3345 of file s390-linux-tdep.c.

References _, align_down(), s390_arg_state::argp, check_typedef(), s390_arg_state::copy, error(), s390_arg_state::fr, gdbarch_addr_bits_remove(), gdbarch_byte_order(), gdbarch_ptr_bit(), gdbarch_tdep(), s390_arg_state::gr, s390_arg_state::regcache, regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), s390_handle_arg(), S390_PSWA_REGNUM, S390_R2_REGNUM, S390_RETADDR_REGNUM, S390_SP_REGNUM, TYPE_CODE, TYPE_CODE_PTR, TYPE_NFIELDS, TYPE_TARGET_TYPE, TYPE_VARARGS, value_type(), and s390_arg_state::vr.

Referenced by s390_gdbarch_init().

## ◆ s390_readinstruction()

static int s390_readinstruction | ( | bfd_byte | instr[],
|  | CORE_ADDR | at
| ) |  |
| static

Definition at line 1131 of file s390-linux-tdep.c.

References target_read_memory().

Referenced by s390_analyze_prologue(), and s390_stub_frame_sniffer().

## ◆ s390_record_address_mask()

static CORE_ADDR s390_record_address_mask | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | CORE_ADDR | val
| ) |  |
| static

Definition at line 3641 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_S390, fprintf_unfiltered(), gdb_stdlog, gdbarch_tdep(), regcache_raw_read_unsigned(), S390_PSWA_REGNUM, and S390_PSWM_REGNUM.

Referenced by s390_process_record(), s390_record_calc_disp_common(), and s390_record_calc_rl().

## ◆ s390_record_calc_disp()

static CORE_ADDR s390_record_calc_disp | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | uint8_t | rx,
|  | uint16_t | bd,
|  | int8_t | dh
| ) |  |
| static

Definition at line 3694 of file s390-linux-tdep.c.

References regcache_raw_read_unsigned(), S390_R0_REGNUM, and s390_record_calc_disp_common().

Referenced by s390_process_record().

## ◆ s390_record_calc_disp_common()

static CORE_ADDR s390_record_calc_disp_common | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | ULONGEST | x,
|  | uint16_t | bd,
|  | int8_t | dh
| ) |  |
| static

Definition at line 3675 of file s390-linux-tdep.c.

References regcache_raw_read_unsigned(), S390_R0_REGNUM, and s390_record_address_mask().

Referenced by s390_record_calc_disp(), and s390_record_calc_disp_vsce().

## ◆ s390_record_calc_disp_vsce()

static int s390_record_calc_disp_vsce | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | uint8_t | vx,
|  | uint8_t | el,
|  | uint8_t | es,
|  | uint16_t | bd,
|  | int8_t | dh,
|  | CORE_ADDR * | res
| ) |  |
| static

Definition at line 3706 of file s390-linux-tdep.c.

References extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_tdep(), regcache_cooked_read(), regcache_raw_read(), s390_record_calc_disp_common(), S390_V16_REGNUM, and gdbarch_tdep::v0_full_regnum.

Referenced by s390_process_record().

## ◆ s390_record_calc_rl()

static CORE_ADDR s390_record_calc_rl | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | CORE_ADDR | addr,
|  | uint16_t | i1,
|  | uint16_t | i2
| ) |  |
| static

Definition at line 3728 of file s390-linux-tdep.c.

References s390_record_address_mask().

Referenced by s390_process_record().

## ◆ s390_record_gpr_g()

static int s390_record_gpr_g | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | i
| ) |  |
| static

Definition at line 3751 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_S390, gdbarch_tdep(), record_full_arch_list_add_reg(), S390_R0_REGNUM, and S390_R0_UPPER_REGNUM.

Referenced by s390_process_record().

## ◆ s390_record_gpr_h()

static int s390_record_gpr_h | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | i
| ) |  |
| static

Definition at line 3765 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_S390, gdbarch_tdep(), record_full_arch_list_add_reg(), S390_R0_REGNUM, and S390_R0_UPPER_REGNUM.

Referenced by s390_process_record().

## ◆ s390_record_vr()

static int s390_record_vr | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | i
| ) |  |
| static

Definition at line 3784 of file s390-linux-tdep.c.

References record_full_arch_list_add_reg(), S390_F0_REGNUM, S390_V0_LOWER_REGNUM, and S390_V16_REGNUM.

Referenced by s390_process_record().

## ◆ s390_register_call_saved()

static int s390_register_call_saved | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |
| static

Definition at line 124 of file s390-linux-tdep.c.

References gdbarch_tdep::abi, ABI_LINUX_S390, ABI_LINUX_ZSERIES, gdbarch_tdep(), regnum, S390_A0_REGNUM, S390_A1_REGNUM, S390_F15_REGNUM, S390_F4_REGNUM, S390_F6_REGNUM, S390_F8_REGNUM, S390_R15_REGNUM, and S390_R6_REGNUM.

Referenced by s390_backchain_frame_unwind_cache(), s390_dwarf2_frame_init_reg(), and s390_prologue_frame_unwind_cache().

## ◆ s390_register_name()

static const char* s390_register_name | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |
| static

Definition at line 329 of file s390-linux-tdep.c.

References regnum, S390_V0_LOWER_REGNUM, S390_V15_LOWER_REGNUM, and tdesc_register_name().

Referenced by s390_gdbarch_init().

## ◆ s390_register_return_value()

static void s390_register_return_value | ( | struct gdbarch * | gdbarch,
|  | struct type * | type,
|  | struct regcache * | regcache,
|  | gdb_byte * | out,
|  | const gdb_byte * | in
| ) |  |
| static

Definition at line 3449 of file s390-linux-tdep.c.

References _, code, extract_signed_integer(), extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_ptr_bit(), internal_error(), regcache_cooked_read(), regcache_cooked_read_part(), regcache_cooked_write(), regcache_cooked_write_part(), regcache_cooked_write_signed(), regcache_cooked_write_unsigned(), S390_F0_REGNUM, S390_R2_REGNUM, S390_R3_REGNUM, S390_V24_REGNUM, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_DECFLOAT, TYPE_CODE_FLT, TYPE_LENGTH, and TYPE_UNSIGNED.

Referenced by s390_return_value().

## ◆ s390_return_value()

static enum return_value_convention s390_return_value | ( | struct gdbarch * | gdbarch,
|  | struct value * | function,
|  | struct type * | type,
|  | struct regcache * | regcache,
|  | gdb_byte * | out,
|  | const gdb_byte * | in
| ) |  |
| static

Definition at line 3517 of file s390-linux-tdep.c.

References _, check_typedef(), error(), gdbarch_tdep(), RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, s390_register_return_value(), S390_VECTOR_ABI_128, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_COMPLEX, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_LENGTH, TYPE_VECTOR, and gdbarch_tdep::vector_abi.

Referenced by s390_gdbarch_init().

## ◆ s390_sigtramp_frame_prev_register()

static struct value* s390_sigtramp_frame_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 2622 of file s390-linux-tdep.c.

References regnum, s390_sigtramp_frame_unwind_cache(), s390_trad_frame_prev_register(), and s390_sigtramp_unwind_cache::saved_regs.

## ◆ s390_sigtramp_frame_sniffer()

static int s390_sigtramp_frame_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 2631 of file s390-linux-tdep.c.

References get_frame_pc(), op_svc, and target_read_memory().

## ◆ s390_sigtramp_frame_this_id()

static void s390_sigtramp_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2612 of file s390-linux-tdep.c.

References s390_sigtramp_unwind_cache::frame_base, frame_id_build(), get_frame_pc(), and s390_sigtramp_frame_unwind_cache().

## ◆ s390_sigtramp_frame_unwind_cache()

static struct s390_sigtramp_unwind_cache* s390_sigtramp_frame_unwind_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 2504 of file s390-linux-tdep.c.

References trad_frame_saved_reg::addr, align_up(), s390_sigtramp_unwind_cache::frame_base, FRAME_OBSTACK_ZALLOC, gdbarch_byte_order(), gdbarch_ptr_bit(), gdbarch_tdep(), get_frame_arch(), get_frame_pc(), get_frame_register_unsigned(), gdbarch_tdep::gpr_full_regnum, read_memory_unsigned_integer(), S390_A0_REGNUM, S390_F0_REGNUM, S390_FPC_REGNUM, S390_PSWA_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, S390_R0_UPPER_REGNUM, S390_SP_REGNUM, s390_sigtramp_unwind_cache::saved_regs, and trad_frame_alloc_saved_regs().

Referenced by s390_sigtramp_frame_prev_register(), and s390_sigtramp_frame_this_id().

## ◆ s390_skip_prologue()

static CORE_ADDR s390_skip_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 1742 of file s390-linux-tdep.c.

References find_pc_partial_function(), s390_analyze_prologue(), and skip_prologue_using_sal().

Referenced by s390_gdbarch_init().

## ◆ s390_software_single_step()

static std::vector<CORE_ADDR> s390_software_single_step | ( | struct regcache * | regcache | ) |
| static

Definition at line 731 of file s390-linux-tdep.c.

References regcache::arch(), gdbarch::byte_order, gdbarch_byte_order(), loc, read_memory_integer(), record_full_is_used(), regcache_read_pc(), and s390_is_partial_instruction().

Referenced by s390_gdbarch_init().

## ◆ s390_stack_frame_destroyed_p()

static int s390_stack_frame_destroyed_p | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 1761 of file s390-linux-tdep.c.

References gdbarch_ptr_bit(), is_rs(), is_rsy(), op1_lmg, op1_lmy, op2_lmg, op2_lmy, op_lm, S390_R0_REGNUM, S390_SP_REGNUM, and target_read_memory().

Referenced by s390_gdbarch_init(), and s390_prologue_frame_unwind_cache().

## ◆ s390_stap_is_single_operand()

static int s390_stap_is_single_operand | ( | struct gdbarch * | gdbarch,
|  | const char * | s
| ) |  |
| static

Definition at line 3627 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## ◆ s390_store()

static void s390_store | ( | struct s390_prologue_data * | data,
|  | int | d2,
|  | unsigned int | x2,
|  | unsigned int | b2,
|  | CORE_ADDR | size,
|  | pv_t | value
| ) |  |
| static

Definition at line 1358 of file s390-linux-tdep.c.

References s390_prologue_data::back_chain_saved_p, s390_prologue_data::gpr, s390_prologue_data::gpr_size, offset, pv_is_constant(), pv_is_register_k(), pv_subtract(), s390_addr(), S390_R0_REGNUM, S390_SP_REGNUM, size, s390_prologue_data::stack, pv_area::store(), and pv_area::store_would_trash().

Referenced by s390_analyze_prologue().

## ◆ s390_stub_frame_prev_register()

static struct value* s390_stub_frame_prev_register | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache,
|  | int | regnum
| ) |  |
| static

Definition at line 2460 of file s390-linux-tdep.c.

References regnum, s390_stub_frame_unwind_cache(), s390_trad_frame_prev_register(), and s390_stub_unwind_cache::saved_regs.

## ◆ s390_stub_frame_sniffer()

static int s390_stub_frame_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 2469 of file s390-linux-tdep.c.

References get_frame_address_in_block(), get_frame_pc(), in_plt_section(), S390_MAX_INSTR_SIZE, and s390_readinstruction().

## ◆ s390_stub_frame_this_id()

static void s390_stub_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2450 of file s390-linux-tdep.c.

References s390_stub_unwind_cache::frame_base, frame_id_build(), get_frame_pc(), and s390_stub_frame_unwind_cache().

## ◆ s390_stub_frame_unwind_cache()

static struct s390_stub_unwind_cache* s390_stub_frame_unwind_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_prologue_cache
| ) |  |
| static

Definition at line 2424 of file s390-linux-tdep.c.

References s390_stub_unwind_cache::frame_base, FRAME_OBSTACK_ZALLOC, gdbarch_ptr_bit(), get_frame_arch(), get_frame_register_unsigned(), trad_frame_saved_reg::realreg, S390_PSWA_REGNUM, S390_RETADDR_REGNUM, S390_SP_REGNUM, s390_stub_unwind_cache::saved_regs, and trad_frame_alloc_saved_regs().

Referenced by s390_stub_frame_prev_register(), and s390_stub_frame_this_id().

## ◆ s390_supply_tdb_regset()

static void s390_supply_tdb_regset | ( | const struct regset * | regset,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const void * | regs,
|  | size_t | len
| ) |  |
| static

Definition at line 862 of file s390-linux-tdep.c.

References REG_VALID, regcache_cooked_read_unsigned(), regcache_supply_regset(), regnum, and S390_TDB_DWORD0_REGNUM.

## ◆ s390_trad_frame_prev_register()

static struct value* s390_trad_frame_prev_register | ( | struct frame_info * | this_frame,
|  | struct trad_frame_saved_reg | saved_regs[],
|  | int | regnum
| ) |  |
| static

Definition at line 2081 of file s390-linux-tdep.c.

References regnum, S390_NUM_REGS, s390_unwind_pseudo_register(), and trad_frame_get_prev_register().

Referenced by s390_frame_prev_register(), s390_sigtramp_frame_prev_register(), and s390_stub_frame_prev_register().

## ◆ s390_unwind_pc()

static CORE_ADDR s390_unwind_pc | ( | struct gdbarch * | gdbarch,
|  | struct frame_info * | next_frame
| ) |  |
| static

Definition at line 3012 of file s390-linux-tdep.c.

References frame_unwind_register_unsigned(), gdbarch_addr_bits_remove(), gdbarch_tdep(), gdbarch_tdep::pc, and gdbarch_tdep::pc_regnum.

Referenced by s390_gdbarch_init().

## ◆ s390_unwind_pseudo_register()

static struct value* s390_unwind_pseudo_register | ( | struct frame_info * | this_frame,
|  | int | regnum
| ) |  |
| static

Definition at line 2025 of file s390-linux-tdep.c.

References allocate_optimized_out_value(), gdbarch_tdep::cc_regnum, frame_unwind_register_value(), gdbarch_tdep(), get_frame_arch(), gdbarch_tdep::gpr_full_regnum, gdbarch_tdep::pc_regnum, register_type(), regnum, regnum_is_gpr_full(), S390_PSWA_REGNUM, S390_PSWM_REGNUM, S390_R0_REGNUM, TYPE_LENGTH, value_as_long(), value_cast(), value_from_longest(), value_from_pointer(), and value_optimized_out().

Referenced by s390_dwarf2_prev_register(), and s390_trad_frame_prev_register().

## ◆ s390_unwind_sp()

static CORE_ADDR s390_unwind_sp | ( | struct gdbarch * | gdbarch,
|  | struct frame_info * | next_frame
| ) |  |
| static

Definition at line 3021 of file s390-linux-tdep.c.

References frame_unwind_register_unsigned(), gdbarch_addr_bits_remove(), S390_SP_REGNUM, and gdbarch_tdep::sp.

Referenced by s390_gdbarch_init().

## ◆ s390_value_from_register()

static struct value* s390_value_from_register | ( | struct gdbarch * | gdbarch,
|  | struct type * | type,
|  | int | regnum,
|  | struct frame_id | frame_id
| ) |  |
| static

Definition at line 523 of file s390-linux-tdep.c.

References check_typedef(), default_value_from_register(), gdbarch_tdep(), regnum, regnum_is_vxr_full(), S390_F0_REGNUM, S390_F15_REGNUM, S390_V16_REGNUM, S390_V31_REGNUM, set_value_offset(), and TYPE_LENGTH.

Referenced by s390_gdbarch_init().

## ◆ s390_write_pc()

static void s390_write_pc | ( | struct regcache * | regcache,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 158 of file s390-linux-tdep.c.

References regcache::arch(), gdbarch_tdep(), gdbarch_tdep::pc, gdbarch_tdep::pc_regnum, regcache_cooked_write_unsigned(), register_size(), and S390_SYSTEM_CALL_REGNUM.

Referenced by s390_gdbarch_init().

## Variable Documentation

## ◆ s390_break_insn

constexpr gdb_byte s390_break_insn[] = { 0x0, 0x1 }

Definition at line 3559 of file s390-linux-tdep.c.

## ◆ s390_disassembler_options

char* s390_disassembler_options
| static

Definition at line 84 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## ◆ s390_dwarf_regmap

const short s390_dwarf_regmap[]
| static

Definition at line 213 of file s390-linux-tdep.c.

Referenced by s390_dwarf_reg_to_regnum().

## ◆ s390_fpregmap

const struct regcache_map_entry s390_fpregmap[]
| static

Initial value:
=
{
{ 1, S390_FPC_REGNUM, 8 },
{ 16, S390_F0_REGNUM, 8 },
{ 0 }
}
S390_FPC_REGNUM
#define S390_FPC_REGNUM
Definition: s390-linux-tdep.h:80
S390_F0_REGNUM
#define S390_F0_REGNUM
Definition: s390-linux-tdep.h:82

Definition at line 784 of file s390-linux-tdep.c.

## ◆ s390_fpregset

const struct regset s390_fpregset

Initial value:
= {
s390_fpregmap,
regcache_supply_regset,
regcache_collect_regset
}
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211
s390_fpregmap
static const struct regcache_map_entry s390_fpregmap[]
Definition: s390-linux-tdep.c:784

Definition at line 880 of file s390-linux-tdep.c.

Referenced by fill_fpregset(), s390_iterate_over_regset_sections(), and supply_fpregset().

## ◆ s390_frame_base

const struct frame_base s390_frame_base
| static

Initial value:
= {
&s390_frame_unwind,
s390_frame_base_address,
s390_local_base_address,
s390_local_base_address
}
s390_frame_base_address
static CORE_ADDR s390_frame_base_address(struct frame_info *this_frame, void **this_cache)
Definition: s390-linux-tdep.c:2989
s390_local_base_address
static CORE_ADDR s390_local_base_address(struct frame_info *this_frame, void **this_cache)
Definition: s390-linux-tdep.c:2997
s390_frame_unwind
static const struct frame_unwind s390_frame_unwind
Definition: s390-linux-tdep.c:2403

Definition at line 3004 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## ◆ s390_frame_unwind

const struct frame_unwind s390_frame_unwind
| static

Initial value:
= {
NORMAL_FRAME,
default_frame_unwind_stop_reason,
s390_frame_this_id,
s390_frame_prev_register,
NULL,
default_frame_sniffer
}
s390_frame_prev_register
static struct value * s390_frame_prev_register(struct frame_info *this_frame, void **this_prologue_cache, int regnum)
Definition: s390-linux-tdep.c:2394
NORMAL_FRAME
Definition: frame.h:244
default_frame_sniffer
int default_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: frame-unwind.c:174
s390_frame_this_id
static void s390_frame_this_id(struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
Definition: s390-linux-tdep.c:2376
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184

Definition at line 2403 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## ◆ s390_gregmap

const struct regcache_map_entry s390_gregmap[]
| static

Initial value:
=
{
{ 1, S390_PSWM_REGNUM },
{ 1, S390_PSWA_REGNUM },
{ 16, S390_R0_REGNUM },
{ 16, S390_A0_REGNUM },
{ 1, S390_ORIG_R2_REGNUM },
{ 0 }
}
S390_R0_REGNUM
#define S390_R0_REGNUM
Definition: s390-linux-tdep.h:46
S390_PSWM_REGNUM
#define S390_PSWM_REGNUM
Definition: s390-linux-tdep.h:43
S390_A0_REGNUM
#define S390_A0_REGNUM
Definition: s390-linux-tdep.h:63
S390_ORIG_R2_REGNUM
#define S390_ORIG_R2_REGNUM
Definition: s390-linux-tdep.h:116
S390_PSWA_REGNUM
#define S390_PSWA_REGNUM
Definition: s390-linux-tdep.h:44

Definition at line 774 of file s390-linux-tdep.c.

## ◆ s390_gregset

const struct regset s390_gregset

Initial value:
= {
s390_gregmap,
regcache_supply_regset,
regcache_collect_regset
}
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211
s390_gregmap
static const struct regcache_map_entry s390_gregmap[]
Definition: s390-linux-tdep.c:774

Definition at line 874 of file s390-linux-tdep.c.

Referenced by fill_gregset(), s390_iterate_over_regset_sections(), and supply_gregset().

## ◆ s390_gs_regset

const struct regset s390_gs_regset

Initial value:
= {
s390_regmap_gs,
regcache_supply_regset,
regcache_collect_regset
}
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
s390_regmap_gs
static const struct regcache_map_entry s390_regmap_gs[]
Definition: s390-linux-tdep.c:839
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 928 of file s390-linux-tdep.c.

Referenced by s390_iterate_over_regset_sections(), and s390_linux_fetch_inferior_registers().

## ◆ s390_gsbc_regset

const struct regset s390_gsbc_regset

Initial value:
= {
s390_regmap_gsbc,
regcache_supply_regset,
regcache_collect_regset
}
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211
s390_regmap_gsbc
static const struct regcache_map_entry s390_regmap_gsbc[]
Definition: s390-linux-tdep.c:848

Definition at line 934 of file s390-linux-tdep.c.

Referenced by s390_iterate_over_regset_sections(), and s390_linux_fetch_inferior_registers().

## ◆ s390_last_break_regset

const struct regset s390_last_break_regset

Initial value:
= {
s390_regmap_last_break,
regcache_supply_regset,
regcache_collect_regset
}
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
s390_regmap_last_break
static const struct regcache_map_entry s390_regmap_last_break[]
Definition: s390-linux-tdep.c:797
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 892 of file s390-linux-tdep.c.

Referenced by s390_iterate_over_regset_sections(), and s390_linux_fetch_inferior_registers().

## ◆ s390_linux_record_tdep

struct linux_record_tdep s390_linux_record_tdep
| static

Definition at line 2692 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init(), and s390_linux_syscall_record().

## ◆ s390_regmap_gs

const struct regcache_map_entry s390_regmap_gs[]
| static

Initial value:
=
{
{ 1, REGCACHE_MAP_SKIP, 8 },
{ 1, S390_GSD_REGNUM, 8 },
{ 1, S390_GSSM_REGNUM, 8 },
{ 1, S390_GSEPLA_REGNUM, 8 },
{ 0 }
}
S390_GSSM_REGNUM
#define S390_GSSM_REGNUM
Definition: s390-linux-tdep.h:174
S390_GSD_REGNUM
#define S390_GSD_REGNUM
Definition: s390-linux-tdep.h:173
REGCACHE_MAP_SKIP
Definition: regcache.h:168
S390_GSEPLA_REGNUM
#define S390_GSEPLA_REGNUM
Definition: s390-linux-tdep.h:175

Definition at line 839 of file s390-linux-tdep.c.

## ◆ s390_regmap_gsbc

const struct regcache_map_entry s390_regmap_gsbc[]
| static

Initial value:
=
{
{ 1, REGCACHE_MAP_SKIP, 8 },
{ 1, S390_BC_GSD_REGNUM, 8 },
{ 1, S390_BC_GSSM_REGNUM, 8 },
{ 1, S390_BC_GSEPLA_REGNUM, 8 },
{ 0 }
}
S390_BC_GSSM_REGNUM
#define S390_BC_GSSM_REGNUM
Definition: s390-linux-tdep.h:177
REGCACHE_MAP_SKIP
Definition: regcache.h:168
S390_BC_GSD_REGNUM
#define S390_BC_GSD_REGNUM
Definition: s390-linux-tdep.h:176
S390_BC_GSEPLA_REGNUM
#define S390_BC_GSEPLA_REGNUM
Definition: s390-linux-tdep.h:178

Definition at line 848 of file s390-linux-tdep.c.

## ◆ s390_regmap_last_break

const struct regcache_map_entry s390_regmap_last_break[]
| static

Initial value:
=
{
{ 1, REGCACHE_MAP_SKIP, 4 },
{ 1, S390_LAST_BREAK_REGNUM, 4 },
{ 0 }
}
S390_LAST_BREAK_REGNUM
#define S390_LAST_BREAK_REGNUM
Definition: s390-linux-tdep.h:117
REGCACHE_MAP_SKIP
Definition: regcache.h:168

Definition at line 797 of file s390-linux-tdep.c.

## ◆ s390_regmap_system_call

const struct regcache_map_entry s390_regmap_system_call[]
| static

Initial value:
=
{
{ 1, S390_SYSTEM_CALL_REGNUM, 4 },
{ 0 }
}
S390_SYSTEM_CALL_REGNUM
#define S390_SYSTEM_CALL_REGNUM
Definition: s390-linux-tdep.h:118

Definition at line 810 of file s390-linux-tdep.c.

## ◆ s390_regmap_tdb

const struct regcache_map_entry s390_regmap_tdb[]
| static

Initial value:
=
{
{ 1, S390_TDB_DWORD0_REGNUM, 8 },
{ 1, S390_TDB_ABORT_CODE_REGNUM, 8 },
{ 1, S390_TDB_CONFLICT_TOKEN_REGNUM, 8 },
{ 1, S390_TDB_ATIA_REGNUM, 8 },
{ 12, REGCACHE_MAP_SKIP, 8 },
{ 16, S390_TDB_R0_REGNUM, 8 },
{ 0 }
}
S390_TDB_ATIA_REGNUM
#define S390_TDB_ATIA_REGNUM
Definition: s390-linux-tdep.h:123
S390_TDB_DWORD0_REGNUM
#define S390_TDB_DWORD0_REGNUM
Definition: s390-linux-tdep.h:120
S390_TDB_R0_REGNUM
#define S390_TDB_R0_REGNUM
Definition: s390-linux-tdep.h:124
S390_TDB_ABORT_CODE_REGNUM
#define S390_TDB_ABORT_CODE_REGNUM
Definition: s390-linux-tdep.h:121
S390_TDB_CONFLICT_TOKEN_REGNUM
#define S390_TDB_CONFLICT_TOKEN_REGNUM
Definition: s390-linux-tdep.h:122
REGCACHE_MAP_SKIP
Definition: regcache.h:168

Definition at line 816 of file s390-linux-tdep.c.

## ◆ s390_regmap_upper

const struct regcache_map_entry s390_regmap_upper[]
| static

Initial value:
=
{
{ 16, S390_R0_UPPER_REGNUM, 4 },
{ 0 }
}
S390_R0_UPPER_REGNUM
#define S390_R0_UPPER_REGNUM
Definition: s390-linux-tdep.h:99

Definition at line 791 of file s390-linux-tdep.c.

## ◆ s390_regmap_vxrs_high

const struct regcache_map_entry s390_regmap_vxrs_high[]
| static

Initial value:
=
{
{ 16, S390_V16_REGNUM, 16 },
{ 0 }
}
S390_V16_REGNUM
#define S390_V16_REGNUM
Definition: s390-linux-tdep.h:157

Definition at line 833 of file s390-linux-tdep.c.

## ◆ s390_regmap_vxrs_low

const struct regcache_map_entry s390_regmap_vxrs_low[]
| static

Initial value:
=
{
{ 16, S390_V0_LOWER_REGNUM, 8 },
{ 0 }
}
S390_V0_LOWER_REGNUM
#define S390_V0_LOWER_REGNUM
Definition: s390-linux-tdep.h:141

Definition at line 827 of file s390-linux-tdep.c.

## ◆ s390_sigtramp_frame_unwind

const struct frame_unwind s390_sigtramp_frame_unwind
| static

Initial value:
= {
SIGTRAMP_FRAME,
default_frame_unwind_stop_reason,
s390_sigtramp_frame_this_id,
s390_sigtramp_frame_prev_register,
NULL,
s390_sigtramp_frame_sniffer
}
SIGTRAMP_FRAME
Definition: frame.h:255
s390_sigtramp_frame_sniffer
static int s390_sigtramp_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: s390-linux-tdep.c:2631
s390_sigtramp_frame_prev_register
static struct value * s390_sigtramp_frame_prev_register(struct frame_info *this_frame, void **this_prologue_cache, int regnum)
Definition: s390-linux-tdep.c:2622
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184
s390_sigtramp_frame_this_id
static void s390_sigtramp_frame_this_id(struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
Definition: s390-linux-tdep.c:2612

Definition at line 2651 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## ◆ s390_stub_frame_unwind

const struct frame_unwind s390_stub_frame_unwind
| static

Initial value:
= {
NORMAL_FRAME,
default_frame_unwind_stop_reason,
s390_stub_frame_this_id,
s390_stub_frame_prev_register,
NULL,
s390_stub_frame_sniffer
}
s390_stub_frame_sniffer
static int s390_stub_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: s390-linux-tdep.c:2469
s390_stub_frame_this_id
static void s390_stub_frame_this_id(struct frame_info *this_frame, void **this_prologue_cache, struct frame_id *this_id)
Definition: s390-linux-tdep.c:2450
NORMAL_FRAME
Definition: frame.h:244
default_frame_unwind_stop_reason
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:184
s390_stub_frame_prev_register
static struct value * s390_stub_frame_prev_register(struct frame_info *this_frame, void **this_prologue_cache, int regnum)
Definition: s390-linux-tdep.c:2460

Definition at line 2486 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init().

## ◆ s390_system_call_regset

const struct regset s390_system_call_regset

Initial value:
= {
s390_regmap_system_call,
regcache_supply_regset,
regcache_collect_regset
}
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
s390_regmap_system_call
static const struct regcache_map_entry s390_regmap_system_call[]
Definition: s390-linux-tdep.c:810
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 904 of file s390-linux-tdep.c.

Referenced by s390_iterate_over_regset_sections(), s390_linux_fetch_inferior_registers(), and s390_linux_store_inferior_registers().

## ◆ s390_tdb_regset

const struct regset s390_tdb_regset

Initial value:
= {
s390_regmap_tdb,
s390_supply_tdb_regset,
regcache_collect_regset
}
s390_supply_tdb_regset
static void s390_supply_tdb_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len)
Definition: s390-linux-tdep.c:862
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211
s390_regmap_tdb
static const struct regcache_map_entry s390_regmap_tdb[]
Definition: s390-linux-tdep.c:816

Definition at line 910 of file s390-linux-tdep.c.

Referenced by s390_iterate_over_regset_sections(), and s390_linux_fetch_inferior_registers().

## ◆ s390_upper_regset

const struct regset s390_upper_regset
| static

Initial value:
= {
s390_regmap_upper,
regcache_supply_regset,
regcache_collect_regset
}
s390_regmap_upper
static const struct regcache_map_entry s390_regmap_upper[]
Definition: s390-linux-tdep.c:791
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 886 of file s390-linux-tdep.c.

Referenced by s390_iterate_over_regset_sections().

## ◆ s390_vxrs_high_regset

const struct regset s390_vxrs_high_regset

Initial value:
= {
s390_regmap_vxrs_high,
regcache_supply_regset,
regcache_collect_regset
}
s390_regmap_vxrs_high
static const struct regcache_map_entry s390_regmap_vxrs_high[]
Definition: s390-linux-tdep.c:833
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 922 of file s390-linux-tdep.c.

Referenced by s390_iterate_over_regset_sections(), s390_linux_fetch_inferior_registers(), and s390_linux_store_inferior_registers().

## ◆ s390_vxrs_low_regset

const struct regset s390_vxrs_low_regset

Initial value:
= {
s390_regmap_vxrs_low,
regcache_supply_regset,
regcache_collect_regset
}
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211
s390_regmap_vxrs_low
static const struct regcache_map_entry s390_regmap_vxrs_low[]
Definition: s390-linux-tdep.c:827

Definition at line 916 of file s390-linux-tdep.c.

Referenced by s390_iterate_over_regset_sections(), s390_linux_fetch_inferior_registers(), and s390_linux_store_inferior_registers().

## ◆ s390x_last_break_regset

const struct regset s390x_last_break_regset

Initial value:
= {
s390x_regmap_last_break,
regcache_supply_regset,
regcache_collect_regset
}
s390x_regmap_last_break
static const struct regcache_map_entry s390x_regmap_last_break[]
Definition: s390-linux-tdep.c:804
regcache_supply_regset
void regcache_supply_regset(const struct regset *regset, struct regcache *regcache, int regnum, const void *buf, size_t size)
Definition: regcache.c:1192
regcache_collect_regset
void regcache_collect_regset(const struct regset *regset, const struct regcache *regcache, int regnum, void *buf, size_t size)
Definition: regcache.c:1211

Definition at line 898 of file s390-linux-tdep.c.

Referenced by s390_iterate_over_regset_sections(), and s390_linux_fetch_inferior_registers().

## ◆ s390x_linux_record_tdep

struct linux_record_tdep s390x_linux_record_tdep
| static

Definition at line 2693 of file s390-linux-tdep.c.

Referenced by s390_gdbarch_init(), and s390_linux_syscall_record().

## ◆ s390x_regmap_last_break

const struct regcache_map_entry s390x_regmap_last_break[]
| static

Initial value:
=
{
{ 1, S390_LAST_BREAK_REGNUM, 8 },
{ 0 }
}
S390_LAST_BREAK_REGNUM
#define S390_LAST_BREAK_REGNUM
Definition: s390-linux-tdep.h:117

Definition at line 804 of file s390-linux-tdep.c.