GDB (xrefs)

Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/i386-tdep.c File Reference
`#include "defs.h"`
`#include "opcode/i386.h"`
`#include "arch-utils.h"`
`#include "command.h"`
`#include "dummy-frame.h"`
`#include "dwarf2-frame.h"`
`#include "frame.h"`
`#include "frame-base.h"`
`#include "frame-unwind.h"`
`#include "inferior.h"`
`#include "infrun.h"`
`#include "gdbcmd.h"`
`#include "gdbcore.h"`
`#include "gdbtypes.h"`
`#include "objfiles.h"`
`#include "osabi.h"`
`#include "regcache.h"`
`#include "reggroups.h"`
`#include "regset.h"`
`#include "symfile.h"`
`#include "symtab.h"`
`#include "target.h"`
`#include "target-float.h"`
`#include "value.h"`
`#include "dis-asm.h"`
`#include "disasm.h"`
`#include "remote.h"`
`#include "i386-tdep.h"`
`#include "i387-tdep.h"`
`#include "x86-xstate.h"`
`#include "record.h"`
`#include "record-full.h"`
`#include "target-descriptions.h"`
`#include "arch/i386.h"`
`#include "ax.h"`
`#include "ax-gdb.h"`
`#include "stap-probe.h"`
`#include "user-regs.h"`
`#include "cli/cli-utils.h"`
`#include "expression.h"`
`#include "parser-defs.h"`
`#include <ctype.h>`
`#include <algorithm>`

Go to the source code of this file.

## Classes
struct | i386_frame_cache
struct | i386_insn
struct | i386_record_s

## Macros
#define | I386_NUM_SAVED_REGS I386_NUM_GREGS
#define | I386_MAX_MATCHED_INSN_LEN 6
#define | LOW_RETURN_REGNUM I386_EAX_REGNUM /* %eax */
#define | HIGH_RETURN_REGNUM I386_EDX_REGNUM /* %edx */
#define | PREFIX_REPZ 0x01
#define | PREFIX_REPNZ 0x02
#define | PREFIX_LOCK 0x04
#define | PREFIX_DATA 0x08
#define | PREFIX_ADDR 0x10
#define | I386_SAVE_FPU_REGS 0xfffd
#define | I386_SAVE_FPU_ENV 0xfffe
#define | I386_SAVE_FPU_ENV_REG_STACK 0xffff
#define | I386_RECORD_FULL_ARCH_LIST_ADD_REG(regnum) record_full_arch_list_add_reg (ir.regcache, ir.regmap[(regnum)])
#define | MPX_BASE_MASK (~(ULONGEST) 0xfff)
#define | MPX_BD_MASK 0xfffffff00000ULL /* select bits [47:20] */
#define | MPX_BT_MASK 0x0000000ffff8 /* select bits [19:3] */
#define | MPX_BD_MASK_32 0xfffff000 /* select bits [31:12] */
#define | MPX_BT_MASK_32 0x00000ffc /* select bits [11:2] */

## Enumerations
enum | { OT_BYTE = 0, OT_WORD, OT_LONG, OT_QUAD, OT_DQUAD }
enum | { OP_ADDL, OP_ORL, OP_ADCL, OP_SBBL, OP_ANDL, OP_SUBL, OP_XORL, OP_CMPL }

## Functions
static int | i386_mmx_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_byte_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_word_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_dword_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_zmmh_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_zmm_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_k_regnum_p (struct gdbarch *gdbarch, int regnum)
static int | i386_ymmh_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_ymm_regnum_p (struct gdbarch *gdbarch, int regnum)
static int | i386_ymmh_avx512_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_ymm_avx512_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_bnd_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_xmm_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_xmm_avx512_regnum_p (struct gdbarch *gdbarch, int regnum)
static int | i386_mxcsr_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_fp_regnum_p (struct gdbarch *gdbarch, int regnum)
int | i386_fpc_regnum_p (struct gdbarch *gdbarch, int regnum)
static int | i386_bndr_regnum_p (struct gdbarch *gdbarch, int regnum)
static int | i386_mpx_ctrl_regnum_p (struct gdbarch *gdbarch, int regnum)
bool | i386_pkru_regnum_p (struct gdbarch *gdbarch, int regnum)
static const char * | i386_register_name (struct gdbarch *gdbarch, int regnum)
const char * | i386_pseudo_register_name (struct gdbarch *gdbarch, int regnum)
static int | i386_dbx_reg_to_regnum (struct gdbarch *gdbarch, int reg)
static int | i386_svr4_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
int | i386_svr4_reg_to_regnum (struct gdbarch *gdbarch, int reg)
typedef | BP_MANIPULATION (i386_break_insn)
static int | i386_absolute_jmp_p (const gdb_byte *insn)
static int | i386_jmp_p (const gdb_byte *insn)
static int | i386_absolute_call_p (const gdb_byte *insn)
static int | i386_ret_p (const gdb_byte *insn)
static int | i386_call_p (const gdb_byte *insn)
static int | i386_syscall_p (const gdb_byte *insn, int *lengthp)
static int | i386_insn_is_call (struct gdbarch *gdbarch, CORE_ADDR addr)
static int | i386_insn_is_ret (struct gdbarch *gdbarch, CORE_ADDR addr)
static int | i386_insn_is_jump (struct gdbarch *gdbarch, CORE_ADDR addr)
struct displaced_step_closure * | i386_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
void | i386_displaced_step_fixup (struct gdbarch *gdbarch, struct displaced_step_closure *closure_, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
static void | append_insns (CORE_ADDR *to, ULONGEST len, const gdb_byte *buf)
static void | i386_relocate_instruction (struct gdbarch *gdbarch, CORE_ADDR *to, CORE_ADDR oldloc)
static struct i386_frame_cache * | i386_alloc_frame_cache (void)
static CORE_ADDR | i386_follow_jump (struct gdbarch *gdbarch, CORE_ADDR pc)
static CORE_ADDR | i386_analyze_struct_return (CORE_ADDR pc, CORE_ADDR current_pc, struct i386_frame_cache *cache)
static CORE_ADDR | i386_skip_probe (CORE_ADDR pc)
static CORE_ADDR | i386_analyze_stack_align (CORE_ADDR pc, CORE_ADDR current_pc, struct i386_frame_cache *cache)
static int | i386_match_pattern (CORE_ADDR pc, struct i386_insn pattern)
static struct i386_insn * | i386_match_insn (CORE_ADDR pc, struct i386_insn *insn_patterns)
static int | i386_match_insn_block (CORE_ADDR pc, struct i386_insn *insn_patterns)
static CORE_ADDR | i386_skip_noop (CORE_ADDR pc)
static CORE_ADDR | i386_analyze_frame_setup (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR limit, struct i386_frame_cache *cache)
static CORE_ADDR | i386_analyze_register_saves (CORE_ADDR pc, CORE_ADDR current_pc, struct i386_frame_cache *cache)
static CORE_ADDR | i386_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR current_pc, struct i386_frame_cache *cache)
static CORE_ADDR | i386_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
CORE_ADDR | i386_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
static CORE_ADDR | i386_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
static void | i386_frame_cache_1 (struct frame_info *this_frame, struct i386_frame_cache *cache)
static struct i386_frame_cache * | i386_frame_cache (struct frame_info *this_frame, void **this_cache)
static void | i386_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static enum unwind_stop_reason | i386_frame_unwind_stop_reason (struct frame_info *this_frame, void **this_cache)
static struct value * | i386_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static int | i386_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
static int | i386_epilogue_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static struct i386_frame_cache * | i386_epilogue_frame_cache (struct frame_info *this_frame, void **this_cache)
static enum unwind_stop_reason | i386_epilogue_frame_unwind_stop_reason (struct frame_info *this_frame, void **this_cache)
static void | i386_epilogue_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | i386_epilogue_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static int | i386_in_stack_tramp_p (CORE_ADDR pc)
static int | i386_stack_tramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
static void | i386_gen_return_address (struct gdbarch *gdbarch, struct agent_expr *ax, struct axs_value *value, CORE_ADDR scope)
static struct i386_frame_cache * | i386_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache)
static enum unwind_stop_reason | i386_sigtramp_frame_unwind_stop_reason (struct frame_info *this_frame, void **this_cache)
static void | i386_sigtramp_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static struct value * | i386_sigtramp_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
static int | i386_sigtramp_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
static CORE_ADDR | i386_frame_base_address (struct frame_info *this_frame, void **this_cache)
static struct frame_id | i386_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
static CORE_ADDR | i386_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
static int | i386_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)
static int | i386_16_byte_align_p (struct type *type)
static CORE_ADDR | i386_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache)
static CORE_ADDR | i386_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 void | i386_extract_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, gdb_byte *valbuf)
static void | i386_store_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, const gdb_byte *valbuf)
static int | i386_reg_struct_return_p (struct gdbarch *gdbarch, struct type *type)
static enum return_value_convention | i386_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
struct type * | i387_ext_type (struct gdbarch *gdbarch)
static struct type * | i386_bnd_type (struct gdbarch *gdbarch)
static struct type * | i386_zmm_type (struct gdbarch *gdbarch)
static struct type * | i386_ymm_type (struct gdbarch *gdbarch)
static struct type * | i386_mmx_type (struct gdbarch *gdbarch)
struct type * | i386_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
static int | i386_mmx_regnum_to_fp_regnum (struct regcache *regcache, int regnum)
void | i386_pseudo_register_read_into_value (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, struct value *result_value)
static struct value * | i386_pseudo_register_read_value (struct gdbarch *gdbarch, struct regcache *regcache, int regnum)
void | i386_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf)
int | i386_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int regnum)
static int | i386_next_regnum (int regnum)
static int | i386_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type)
static int | i386_register_to_value (struct frame_info *frame, int regnum, struct type *type, gdb_byte *to, int *optimizedp, int *unavailablep)
static void | i386_value_to_register (struct frame_info *frame, int regnum, struct type *type, const gdb_byte *from)
void | i386_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void | i386_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void | i386_supply_fpregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
static void | i386_collect_fpregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
void | i386_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
CORE_ADDR | i386_pe_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc, char *name)
int | i386_sigtramp_p (struct frame_info *this_frame)
static int | i386_print_insn (bfd_vma pc, struct disassemble_info *info)
static int | i386_svr4_sigtramp_p (struct frame_info *this_frame)
static CORE_ADDR | i386_svr4_sigcontext_addr (struct frame_info *this_frame)
int | i386_stap_is_single_operand (struct gdbarch *gdbarch, const char *s)
static int | i386_stap_parse_special_token_triplet (struct gdbarch *gdbarch, struct stap_parse_info *p)
static int | i386_stap_parse_special_token_three_arg_disp (struct gdbarch *gdbarch, struct stap_parse_info *p)
int | i386_stap_parse_special_token (struct gdbarch *gdbarch, struct stap_parse_info *p)
static const char * | i386_gnu_triplet_regexp (struct gdbarch *gdbarch)
void | i386_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
void | i386_svr4_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
static void | i386_init_reggroups (void)
static void | i386_add_reggroups (struct gdbarch *gdbarch)
int | i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *group)
static CORE_ADDR | i386_fetch_pointer_argument (struct frame_info *frame, int argi, struct type *type)
static int | i386_record_modrm (struct i386_record_s *irp)
static int | i386_record_lea_modrm_addr (struct i386_record_s *irp, uint64_t *addr)
static int | i386_record_lea_modrm (struct i386_record_s *irp)
static int | i386_record_push (struct i386_record_s *irp, int size)
static int | i386_record_floats (struct gdbarch *gdbarch, struct i386_record_s *ir, uint32_t iregnum)
int | i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR input_addr)
static int | i386_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, char **msg)
const struct floatformat ** | i386_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int len)
static int | i386_validate_tdesc_p (struct gdbarch_tdep *tdep, struct tdesc_arch_data *tdesc_data)
static struct gdbarch * | i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
const struct target_desc * | i386_target_description (uint64_t xcr0)
static unsigned long | i386_mpx_bd_base (void)
int | i386_mpx_enabled (void)
static CORE_ADDR | i386_mpx_get_bt_entry (CORE_ADDR ptr, CORE_ADDR bd_base)
static void | i386_mpx_print_bounds (const CORE_ADDR bt_entry[4])
static void | i386_mpx_info_bounds (const char *args, int from_tty)
static void | i386_mpx_set_bounds (const char *args, int from_tty)
static void | set_mpx_cmd (const char *args, int from_tty)
static void | show_mpx_cmd (const char *args, int from_tty)
void | _initialize_i386_tdep (void)

## Variables
static const char * | i386_register_names []
static const char * | i386_zmm_names []
static const char * | i386_zmmh_names []
static const char * | i386_k_names []
static const char * | i386_ymm_names []
static const char * | i386_ymmh_names []
static const char * | i386_mpx_names []
static const char * | i386_pkeys_names []
static const char * | i386_bnd_names []
static const char * | i386_mmx_names []
static const char * | i386_byte_names []
static const char * | i386_word_names []
const int | num_lower_zmm_regs = 16
static const char | att_flavor [] = "att"
static const char | intel_flavor [] = "intel"
static const char *const | valid_flavors []
static const char * | disassembly_flavor = att_flavor
constexpr gdb_byte | i386_break_insn [] = { 0xcc }
struct i386_insn | i386_frame_setup_skip_insns []
static const struct frame_unwind | i386_frame_unwind
static const struct frame_unwind | i386_epilogue_frame_unwind
struct i386_insn | i386_tramp_chain_in_reg_insns []
struct i386_insn | i386_tramp_chain_on_stack_insns []
static const struct frame_unwind | i386_stack_tramp_frame_unwind
static const struct frame_unwind | i386_sigtramp_frame_unwind
static const struct frame_base | i386_frame_base
static const char | default_struct_convention [] = "default"
static const char | pcc_struct_convention [] = "pcc"
static const char | reg_struct_convention [] = "reg"
static const char *const | valid_conventions []
static const char * | struct_convention = default_struct_convention
const struct regset | i386_gregset
const struct regset | i386_fpregset
static struct reggroup * | i386_sse_reggroup
static struct reggroup * | i386_mmx_reggroup
static const int | i386_record_regmap []
static struct cmd_list_element * | mpx_set_cmdlist
static struct cmd_list_element * | mpx_show_cmdlist

## Macro Definition Documentation

## ◆ HIGH_RETURN_REGNUM

#define HIGH_RETURN_REGNUM I386_EDX_REGNUM /* %edx */

Definition at line 2778 of file i386-tdep.c.

Referenced by i386_extract_return_value(), and i386_store_return_value().

## ◆ I386_MAX_MATCHED_INSN_LEN

#define I386_MAX_MATCHED_INSN_LEN 6

Definition at line 1385 of file i386-tdep.c.

Referenced by i386_match_pattern().

## ◆ I386_NUM_SAVED_REGS

#define I386_NUM_SAVED_REGS I386_NUM_GREGS

Definition at line 1066 of file i386-tdep.c.

Referenced by i386_alloc_frame_cache(), i386_frame_cache_1(), and i386_sigtramp_frame_cache().

## ◆ I386_RECORD_FULL_ARCH_LIST_ADD_REG

#define I386_RECORD_FULL_ARCH_LIST_ADD_REG | ( |  | regnum | ) | record_full_arch_list_add_reg (ir.regcache, ir.regmap[(regnum)])

Definition at line 5021 of file i386-tdep.c.

Referenced by i386_process_record().

## ◆ I386_SAVE_FPU_ENV

#define I386_SAVE_FPU_ENV 0xfffe

Definition at line 4952 of file i386-tdep.c.

Referenced by i386_process_record(), and i386_record_floats().

## ◆ I386_SAVE_FPU_ENV_REG_STACK

#define I386_SAVE_FPU_ENV_REG_STACK 0xffff

Definition at line 4953 of file i386-tdep.c.

Referenced by i386_process_record(), and i386_record_floats().

## ◆ I386_SAVE_FPU_REGS

#define I386_SAVE_FPU_REGS 0xfffd

Definition at line 4951 of file i386-tdep.c.

Referenced by i386_process_record(), and i386_record_floats().

## ◆ LOW_RETURN_REGNUM

#define LOW_RETURN_REGNUM I386_EAX_REGNUM /* %eax */

Definition at line 2777 of file i386-tdep.c.

Referenced by i386_extract_return_value(), and i386_store_return_value().

## ◆ MPX_BASE_MASK

#define MPX_BASE_MASK (~(ULONGEST) 0xfff)

Definition at line 8732 of file i386-tdep.c.

Referenced by i386_mpx_bd_base().

## ◆ MPX_BD_MASK

#define MPX_BD_MASK 0xfffffff00000ULL /* select bits [47:20] */

Definition at line 8764 of file i386-tdep.c.

Referenced by i386_mpx_get_bt_entry().

## ◆ MPX_BD_MASK_32

#define MPX_BD_MASK_32 0xfffff000 /* select bits [31:12] */

Definition at line 8766 of file i386-tdep.c.

Referenced by i386_mpx_get_bt_entry().

## ◆ MPX_BT_MASK

#define MPX_BT_MASK 0x0000000ffff8 /* select bits [19:3] */

Definition at line 8765 of file i386-tdep.c.

Referenced by i386_mpx_get_bt_entry().

## ◆ MPX_BT_MASK_32

#define MPX_BT_MASK_32 0x00000ffc /* select bits [11:2] */

Definition at line 8767 of file i386-tdep.c.

Referenced by i386_mpx_get_bt_entry().

## ◆ PREFIX_ADDR

#define PREFIX_ADDR 0x10

Definition at line 4635 of file i386-tdep.c.

Referenced by i386_process_record().

## ◆ PREFIX_DATA

#define PREFIX_DATA 0x08

Definition at line 4634 of file i386-tdep.c.

Referenced by i386_process_record().

## ◆ PREFIX_LOCK

#define PREFIX_LOCK 0x04

Definition at line 4633 of file i386-tdep.c.

Referenced by i386_process_record().

## ◆ PREFIX_REPNZ

#define PREFIX_REPNZ 0x02

Definition at line 4632 of file i386-tdep.c.

Referenced by i386_process_record().

## ◆ PREFIX_REPZ

#define PREFIX_REPZ 0x01

Definition at line 4631 of file i386-tdep.c.

Referenced by i386_process_record().

## Enumeration Type Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
OT_BYTE |
OT_WORD |
OT_LONG |
OT_QUAD |
OT_DQUAD |

Definition at line 4638 of file i386-tdep.c.

## ◆ anonymous enum

anonymous enum

Enumerator
OP_ADDL |
OP_ORL |
OP_ADCL |
OP_SBBL |
OP_ANDL |
OP_SUBL |
OP_XORL |
OP_CMPL |

Definition at line 4648 of file i386-tdep.c.

## Function Documentation

## ◆ _initialize_i386_tdep()

void _initialize_i386_tdep | ( | void |  | ) |

Definition at line 8988 of file i386-tdep.c.

References _, add_cmd(), add_prefix_cmd(), add_setshow_enum_cmd(), class_support, disassembly_flavor, GDB_OSABI_SVR4, gdbarch_register_osabi(), i386_gdbarch_init(), i386_init_reggroups(), i386_mpx_info_bounds(), i386_mpx_set_bounds(), i386_svr4_init_abi(), i386_target_description(), mpx_set_cmdlist, mpx_show_cmdlist, no_class, register_gdbarch_init(), register_remote_support_xml(), set_mpx_cmd(), setlist, show_mpx_cmd(), showlist, struct_convention, valid_conventions, valid_flavors, X86_XSTATE_AVX_AVX512_MASK, X86_XSTATE_AVX_MASK, X86_XSTATE_AVX_MPX_AVX512_PKU_MASK, X86_XSTATE_AVX_MPX_MASK, X86_XSTATE_MPX_MASK, X86_XSTATE_SSE_MASK, and X86_XSTATE_X87_MASK.

## ◆ append_insns()

static void append_insns | ( | CORE_ADDR * | to,
|  | ULONGEST | len,
|  | const gdb_byte * | buf
| ) |  |
| static

Definition at line 970 of file i386-tdep.c.

References target_write_memory().

Referenced by i386_relocate_instruction().

## ◆ BP_MANIPULATION()

typedef BP_MANIPULATION | ( | i386_break_insn |  | ) |

Definition at line 609 of file i386-tdep.c.

## ◆ i386_16_byte_align_p()

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

Definition at line 2632 of file i386-tdep.c.

References check_typedef(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_DECFLOAT, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, TYPE_TARGET_TYPE, and TYPE_VECTOR.

Referenced by i386_push_dummy_call().

## ◆ i386_absolute_call_p()

static int i386_absolute_call_p | ( | const gdb_byte * | insn | ) |
| static

Definition at line 688 of file i386-tdep.c.

Referenced by i386_call_p(), and i386_displaced_step_fixup().

## ◆ i386_absolute_jmp_p()

static int i386_absolute_jmp_p | ( | const gdb_byte * | insn | ) |
| static

Definition at line 651 of file i386-tdep.c.

Referenced by i386_displaced_step_fixup(), and i386_jmp_p().

## ◆ i386_add_reggroups()

static void i386_add_reggroups | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 4501 of file i386-tdep.c.

References all_reggroup, float_reggroup, general_reggroup, i386_mmx_reggroup, i386_sse_reggroup, reggroup_add(), restore_reggroup, save_reggroup, system_reggroup, and vector_reggroup.

Referenced by i386_gdbarch_init().

## ◆ i386_alloc_frame_cache()

static struct i386_frame_cache* i386_alloc_frame_cache | ( | void |  | ) |
| static

Definition at line 1089 of file i386-tdep.c.

References i386_frame_cache::base, i386_frame_cache::base_p, FRAME_OBSTACK_ZALLOC, I386_NUM_SAVED_REGS, i386_frame_cache::locals, i386_frame_cache::pc, i386_frame_cache::pc_in_eax, i386_frame_cache::saved_regs, i386_frame_cache::saved_sp, i386_frame_cache::saved_sp_reg, and i386_frame_cache::sp_offset.

Referenced by i386_epilogue_frame_cache(), i386_frame_cache(), and i386_sigtramp_frame_cache().

## ◆ i386_analyze_frame_setup()

static CORE_ADDR i386_analyze_frame_setup | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc,
|  | CORE_ADDR | limit,
|  | struct i386_frame_cache * | cache
| ) |  |
| static

Definition at line 1593 of file i386-tdep.c.

References gdbarch_byte_order(), I386_EBP_REGNUM, i386_frame_setup_skip_insns, i386_match_insn(), i386_insn::insn, i386_frame_cache::locals, read_code_integer(), read_code_unsigned_integer(), i386_frame_cache::saved_regs, i386_frame_cache::sp_offset, and target_read_code().

Referenced by i386_analyze_prologue().

## ◆ i386_analyze_prologue()

static CORE_ADDR i386_analyze_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc,
|  | CORE_ADDR | current_pc,
|  | struct i386_frame_cache * | cache
| ) |  |
| static

Definition at line 1809 of file i386-tdep.c.

References i386_analyze_frame_setup(), i386_analyze_register_saves(), i386_analyze_stack_align(), i386_analyze_struct_return(), i386_follow_jump(), i386_skip_noop(), and i386_skip_probe().

Referenced by i386_frame_cache_1(), and i386_skip_prologue().

## ◆ i386_analyze_register_saves()

static CORE_ADDR i386_analyze_register_saves | ( | CORE_ADDR | pc,
|  | CORE_ADDR | current_pc,
|  | struct i386_frame_cache * | cache
| ) |  |
| static

Definition at line 1756 of file i386-tdep.c.

References i386_frame_cache::locals, offset, i386_frame_cache::saved_regs, i386_frame_cache::sp_offset, and target_read_code().

Referenced by i386_analyze_prologue().

## ◆ i386_analyze_stack_align()

static CORE_ADDR i386_analyze_stack_align | ( | CORE_ADDR | pc,
|  | CORE_ADDR | current_pc,
|  | struct i386_frame_cache * | cache
| ) |  |
| static

Definition at line 1274 of file i386-tdep.c.

References I386_EAX_REGNUM, I386_EBP_REGNUM, I386_EBX_REGNUM, I386_ECX_REGNUM, I386_EDI_REGNUM, I386_EDX_REGNUM, I386_ESI_REGNUM, I386_ESP_REGNUM, offset, i386_frame_cache::pc, i386_frame_cache::saved_sp_reg, and target_read_code().

Referenced by i386_analyze_prologue().

## ◆ i386_analyze_struct_return()

static CORE_ADDR i386_analyze_struct_return | ( | CORE_ADDR | pc,
|  | CORE_ADDR | current_pc,
|  | struct i386_frame_cache * | cache
| ) |  |
| static

Definition at line 1175 of file i386-tdep.c.

References i386_frame_cache::pc, i386_frame_cache::pc_in_eax, i386_frame_cache::sp_offset, and target_read_code().

Referenced by i386_analyze_prologue().

## ◆ i386_ax_pseudo_register_collect()

int i386_ax_pseudo_register_collect | ( | struct gdbarch * | gdbarch,
|  | struct agent_expr * | ax,
|  | int | regnum
| ) |  |

Definition at line 3625 of file i386-tdep.c.

References _, gdbarch_tdep::al_regnum, ax_reg_mask(), gdbarch_tdep::ax_regnum, gdbarch_tdep::bnd0_regnum, gdbarch_tdep(), i386_bnd_regnum_p(), i386_byte_regnum_p(), i386_k_regnum_p(), i386_mmx_regnum_p(), i386_word_regnum_p(), i386_ymm_avx512_regnum_p(), i386_ymm_regnum_p(), i386_zmm_regnum_p(), I387_BND0R_REGNUM, I387_FSTAT_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, I387_XMM16_REGNUM, I387_YMM16H_REGNUM, internal_error(), gdbarch_tdep::k0_regnum, num_lower_zmm_regs, regnum, gdbarch_tdep::ymm0_regnum, gdbarch_tdep::ymm0h_regnum, gdbarch_tdep::ymm16_regnum, gdbarch_tdep::ymm16h_regnum, gdbarch_tdep::zmm0_regnum, and gdbarch_tdep::zmm0h_regnum.

Referenced by amd64_ax_pseudo_register_collect(), and i386_gdbarch_init().

## ◆ i386_bnd_regnum_p()

int i386_bnd_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 311 of file i386-tdep.c.

References gdbarch_tdep::bnd0_regnum, gdbarch_tdep(), I387_NUM_BND_REGS, and regnum.

Referenced by i386_ax_pseudo_register_collect(), i386_pseudo_register_name(), i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), i386_pseudo_register_write(), and i386_register_reggroup_p().

## ◆ i386_bnd_type()

static struct type* i386_bnd_type | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 3035 of file i386-tdep.c.

References append_composite_type_field(), arch_composite_type(), builtin_type::builtin_data_ptr, builtin_type(), gdbarch_tdep(), gdbarch_tdep::i386_bnd_type, TYPE_CODE_STRUCT, and TYPE_NAME.

Referenced by i386_pseudo_register_type().

## ◆ i386_bndr_regnum_p()

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

Definition at line 393 of file i386-tdep.c.

References gdbarch_tdep::bnd0r_regnum, gdbarch_tdep(), I387_BND0R_REGNUM, I387_NUM_BND_REGS, and regnum.

Referenced by i386_register_reggroup_p().

## ◆ i386_byte_regnum_p()

int i386_byte_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 179 of file i386-tdep.c.

References gdbarch_tdep::al_regnum, gdbarch_tdep(), gdbarch_tdep::num_byte_regs, and regnum.

Referenced by amd64_ax_pseudo_register_collect(), amd64_pseudo_register_name(), amd64_pseudo_register_read_value(), amd64_pseudo_register_write(), i386_ax_pseudo_register_collect(), i386_pseudo_register_name(), i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), i386_pseudo_register_write(), and i386_register_reggroup_p().

## ◆ i386_call_p()

static int i386_call_p | ( | const gdb_byte * | insn | ) |
| static

Definition at line 726 of file i386-tdep.c.

References i386_absolute_call_p().

Referenced by i386_displaced_step_fixup(), and i386_insn_is_call().

## ◆ i386_collect_fpregset()

static void i386_collect_fpregset | ( | const struct regset * | regset,
|  | const struct regcache * | regcache,
|  | int | regnum,
|  | void * | fpregs,
|  | size_t | len
| ) |  |
| static

Definition at line 3909 of file i386-tdep.c.

References regcache::arch(), gdb_assert, gdbarch_tdep(), i387_collect_fsave(), i387_collect_fxsave(), I387_SIZEOF_FXSAVE, regnum, and gdbarch_tdep::sizeof_fpregset.

## ◆ i386_collect_gregset()

static void i386_collect_gregset | ( | const struct regset * | regset,
|  | const struct regcache * | regcache,
|  | int | regnum,
|  | void * | gregs,
|  | size_t | len
| ) |  |
| static

Definition at line 3863 of file i386-tdep.c.

References regcache::arch(), gdb_assert, gdbarch_tdep(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, regcache_raw_collect(), regnum, gdbarch_tdep::regs, and gdbarch_tdep::sizeof_gregset.

## ◆ i386_convert_register_p()

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

Definition at line 3738 of file i386-tdep.c.

References i386_next_regnum(), i387_convert_register_p(), regnum, and TYPE_LENGTH.

Referenced by i386_gdbarch_init().

## ◆ i386_dbx_reg_to_regnum()

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

Definition at line 480 of file i386-tdep.c.

References gdbarch_num_pseudo_regs(), gdbarch_num_regs(), gdbarch_tdep(), i386_xmm_regnum_p(), I387_MM0_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, and gdbarch_tdep::ymm0_regnum.

Referenced by i386_gdbarch_init(), and i386_svr4_dwarf_reg_to_regnum().

## ◆ i386_displaced_step_copy_insn()

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

Definition at line 800 of file i386-tdep.c.

References buf_displaced_step_closure::buf, debug_displaced, displaced_step_dump_bytes(), fprintf_unfiltered(), gdb_stdlog, gdbarch_max_insn_length(), i386_syscall_p(), paddress(), read_memory(), and write_memory().

Referenced by i386_linux_displaced_step_copy_insn().

## ◆ i386_displaced_step_fixup()

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

Definition at line 838 of file i386-tdep.c.

References buf_displaced_step_closure::buf, debug_displaced, fprintf_unfiltered(), gdb_stdlog, gdbarch_byte_order(), gdbarch_max_insn_length(), i386_absolute_call_p(), i386_absolute_jmp_p(), i386_call_p(), I386_EIP_REGNUM, I386_ESP_REGNUM, i386_ret_p(), i386_syscall_p(), paddress(), read_memory_unsigned_integer(), regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), and write_memory_unsigned_integer().

Referenced by i386_linux_init_abi().

## ◆ i386_dummy_id()

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

Definition at line 2572 of file i386-tdep.c.

References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), and I386_EBP_REGNUM.

Referenced by i386_gdbarch_init().

## ◆ i386_dword_regnum_p()

int i386_dword_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 201 of file i386-tdep.c.

References gdbarch_tdep::eax_regnum, gdbarch_tdep(), gdbarch_tdep::num_dword_regs, and regnum.

Referenced by amd64_ax_pseudo_register_collect(), amd64_pseudo_register_name(), amd64_pseudo_register_read_value(), amd64_pseudo_register_write(), i386_pseudo_register_type(), and i386_register_reggroup_p().

## ◆ i386_elf_init_abi()

void i386_elf_init_abi | ( | struct gdbarch_info | info,
|  | struct gdbarch * | gdbarch
| ) |  |

Definition at line 4439 of file i386-tdep.c.

References i386_stap_is_single_operand(), i386_stap_parse_special_token(), i386_svr4_reg_to_regnum(), set_gdbarch_stab_reg_to_regnum(), set_gdbarch_stap_integer_prefixes(), set_gdbarch_stap_is_single_operand(), set_gdbarch_stap_parse_special_token(), set_gdbarch_stap_register_indirection_prefixes(), set_gdbarch_stap_register_indirection_suffixes(), and set_gdbarch_stap_register_prefixes().

Referenced by i386_linux_init_abi(), i386_svr4_init_abi(), i386fbsd_init_abi(), i386gnu_init_abi(), i386nbsdelf_init_abi(), i386nto_init_abi(), and i386obsd_init_abi().

## ◆ i386_epilogue_frame_cache()

static struct i386_frame_cache* i386_epilogue_frame_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2243 of file i386-tdep.c.

References i386_frame_cache::base, i386_frame_cache::base_p, CATCH, END_CATCH, get_frame_func(), get_frame_register_unsigned(), i386_alloc_frame_cache(), I386_EIP_REGNUM, I386_ESP_REGNUM, NOT_AVAILABLE_ERROR, i386_frame_cache::pc, RETURN_MASK_ERROR, i386_frame_cache::saved_regs, i386_frame_cache::saved_sp, i386_frame_cache::sp_offset, throw_exception(), and TRY.

Referenced by i386_epilogue_frame_prev_register(), i386_epilogue_frame_this_id(), and i386_epilogue_frame_unwind_stop_reason().

## ◆ i386_epilogue_frame_prev_register()

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

Definition at line 2306 of file i386-tdep.c.

References i386_epilogue_frame_cache(), i386_frame_prev_register(), and regnum.

## ◆ i386_epilogue_frame_sniffer()

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

Definition at line 2231 of file i386-tdep.c.

References frame_relative_level(), get_frame_arch(), get_frame_pc(), and i386_stack_frame_destroyed_p().

## ◆ i386_epilogue_frame_this_id()

static void i386_epilogue_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2292 of file i386-tdep.c.

References i386_frame_cache::base, i386_frame_cache::base_p, frame_id_build(), frame_id_build_unavailable_stack(), i386_epilogue_frame_cache(), and i386_frame_cache::pc.

## ◆ i386_epilogue_frame_unwind_stop_reason()

static enum unwind_stop_reason i386_epilogue_frame_unwind_stop_reason | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2279 of file i386-tdep.c.

References i386_frame_cache::base_p, and i386_epilogue_frame_cache().

## ◆ i386_extract_return_value()

static void i386_extract_return_value | ( | struct gdbarch * | gdbarch,
|  | struct type * | type,
|  | struct regcache * | regcache,
|  | gdb_byte * | valbuf
| ) |  |
| static

Definition at line 2784 of file i386-tdep.c.

References _, gdbarch_tdep(), HIGH_RETURN_REGNUM, I386_MAX_REGISTER_SIZE, I386_ST0_REGNUM, i387_ext_type(), internal_error(), LOW_RETURN_REGNUM, memset(), regcache_raw_read(), register_size(), gdbarch_tdep::st0_regnum, target_float_convert(), TYPE_CODE, TYPE_CODE_FLT, TYPE_LENGTH, and warning().

Referenced by i386_return_value().

## ◆ i386_fast_tracepoint_valid_at()

static int i386_fast_tracepoint_valid_at | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | addr,
|  | char ** | msg
| ) |  |
| static

Definition at line 8125 of file i386-tdep.c.

References _, gdb_insn_length(), register_size(), target_get_min_fast_tracepoint_insn_len, and xstrprintf().

Referenced by i386_gdbarch_init().

## ◆ i386_fetch_pointer_argument()

static CORE_ADDR i386_fetch_pointer_argument | ( | struct frame_info * | frame,
|  | int | argi,
|  | struct type * | type
| ) |  |
| static

Definition at line 4622 of file i386-tdep.c.

References gdbarch::byte_order, gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), I386_ESP_REGNUM, and read_memory_unsigned_integer().

Referenced by i386_gdbarch_init().

## ◆ i386_floatformat_for_type()

const struct floatformat** i386_floatformat_for_type | ( | struct gdbarch * | gdbarch,
|  | const char * | name,
|  | int | len
| ) |  |

Definition at line 8177 of file i386-tdep.c.

References default_floatformat_for_type(), floatformats_ia64_quad, and name.

Referenced by i386_gdbarch_init().

## ◆ i386_follow_jump()

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

Definition at line 1120 of file i386-tdep.c.

References gdbarch_byte_order(), i386_frame_cache::pc, read_code_unsigned_integer(), read_memory_integer(), and target_read_code().

Referenced by i386_analyze_prologue(), and i386_skip_prologue().

## ◆ i386_fp_regnum_p()

int i386_fp_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 367 of file i386-tdep.c.

References gdbarch_tdep(), I387_FCTRL_REGNUM, I387_ST0_REGNUM, and regnum.

Referenced by fetch_register(), i386_process_record(), i386_register_reggroup_p(), i386_register_to_value(), i386_value_to_register(), i387_convert_register_p(), i387_register_to_value(), i387_value_to_register(), and store_register().

## ◆ i386_fpc_regnum_p()

int i386_fpc_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 379 of file i386-tdep.c.

References gdbarch_tdep(), I387_FCTRL_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, and regnum.

Referenced by fetch_register(), i386_process_record(), i386_register_reggroup_p(), and store_register().

## ◆ i386_frame_align()

static CORE_ADDR i386_frame_align | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | sp
| ) |  |
| static

Definition at line 2586 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_frame_base_address()

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

Definition at line 2556 of file i386-tdep.c.

References i386_frame_cache::base, and i386_frame_cache().

## ◆ i386_frame_cache()

static struct i386_frame_cache* i386_frame_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2074 of file i386-tdep.c.

References CATCH, END_CATCH, i386_alloc_frame_cache(), i386_frame_cache_1(), NOT_AVAILABLE_ERROR, RETURN_MASK_ERROR, throw_exception(), and TRY.

Referenced by i386_frame_base_address(), i386_frame_prev_register(), i386_frame_this_id(), and i386_frame_unwind_stop_reason().

## ◆ i386_frame_cache_1()

static void i386_frame_cache_1 | ( | struct frame_info * | this_frame,
|  | struct i386_frame_cache * | cache
| ) |  |
| static

Definition at line 1973 of file i386-tdep.c.

References i386_frame_cache::base, i386_frame_cache::base_p, gdbarch::byte_order, deprecated_frame_register_read(), extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register(), i386_analyze_prologue(), I386_EBP_REGNUM, I386_EIP_REGNUM, I386_ESP_REGNUM, I386_NUM_SAVED_REGS, i386_frame_cache::locals, i386_frame_cache::pc, i386_frame_cache::saved_regs, i386_frame_cache::saved_sp, i386_frame_cache::saved_sp_reg, i386_frame_cache::sp_offset, and target_read_code().

Referenced by i386_frame_cache().

## ◆ i386_frame_prev_register()

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

Definition at line 2134 of file i386-tdep.c.

References frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), gdb_assert, get_frame_register_unsigned(), I386_EAX_REGNUM, I386_EFLAGS_REGNUM, I386_EIP_REGNUM, I386_ESP_REGNUM, i386_frame_cache(), i386_frame_cache::pc_in_eax, regnum, i386_frame_cache::saved_regs, i386_frame_cache::saved_sp, and i386_frame_cache::saved_sp_reg.

Referenced by i386_epilogue_frame_prev_register(), and i386_sigtramp_frame_prev_register().

## ◆ i386_frame_this_id()

static void i386_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2099 of file i386-tdep.c.

References i386_frame_cache::base, i386_frame_cache::base_p, frame_id_build(), frame_id_build_unavailable_stack(), i386_frame_cache(), and i386_frame_cache::pc.

## ◆ i386_frame_unwind_stop_reason()

static enum unwind_stop_reason i386_frame_unwind_stop_reason | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2118 of file i386-tdep.c.

References i386_frame_cache::base, i386_frame_cache::base_p, and i386_frame_cache().

## ◆ i386_gdbarch_init()

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

Definition at line 8352 of file i386-tdep.c.

References gdbarch_tdep::al_regnum, gdbarch_tdep::ax_regnum, gdbarch_tdep::bnd0_regnum, gdbarch_tdep::bnd0r_regnum, gdbarch_tdep::bndcfgu_regnum, core_addr_lessthan(), dwarf2_append_unwinders(), gdbarch_tdep::eax_regnum, floatformats_i387_ext, gdbarch_tdep::fpregset, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_free(), gdbarch_init_osabi(), gdbarch_iterate_over_regset_sections_p(), gdbarch_list_lookup_by_info(), gdbarch_num_regs(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, i386_add_reggroups(), i386_ax_pseudo_register_collect(), i386_convert_register_p(), i386_dbx_reg_to_regnum(), i386_dummy_id(), I386_EFLAGS_REGNUM, I386_EIP_REGNUM, i386_epilogue_frame_unwind, I386_ESP_REGNUM, i386_fast_tracepoint_valid_at(), i386_fetch_pointer_argument(), i386_floatformat_for_type(), i386_fpregset, i386_frame_align(), i386_frame_base, i386_frame_unwind, i386_gen_return_address(), i386_get_longjmp_target(), i386_gnu_triplet_regexp(), i386_insn_is_call(), i386_insn_is_jump(), i386_insn_is_ret(), i386_iterate_over_regset_sections(), I386_MAX_INSN_LEN, I386_NUM_GREGS, I386_NUM_XREGS, I386_PKEYS_NUM_REGS, i386_print_insn(), i386_pseudo_register_name(), i386_pseudo_register_read_value(), i386_pseudo_register_type(), i386_pseudo_register_write(), i386_push_dummy_call(), i386_push_dummy_code(), i386_record_regmap, i386_register_name(), i386_register_names, i386_register_reggroup_p(), i386_register_to_value(), i386_relocate_instruction(), i386_return_value(), i386_sigtramp_frame_unwind, i386_sigtramp_p(), i386_skip_prologue(), I386_ST0_REGNUM, i386_stack_tramp_frame_unwind, i386_svr4_dwarf_reg_to_regnum(), i386_target_description(), i386_unwind_pc(), i386_validate_tdesc_p(), i386_value_to_register(), I387_NUM_BND_REGS, I387_NUM_REGS, i387_print_float_info(), I387_SIZEOF_FSAVE, gdbarch_tdep::jb_pc_offset, gdbarch_tdep::k0_regnum, gdbarch_tdep::mm0_regnum, gdbarch_tdep::num_byte_regs, gdbarch_tdep::num_core_regs, gdbarch_tdep::num_dword_regs, gdbarch_tdep::num_mmx_regs, gdbarch_tdep::num_pkeys_regs, gdbarch_tdep::num_word_regs, gdbarch_tdep::num_xmm_avx512_regs, gdbarch_tdep::num_xmm_regs, gdbarch_tdep::num_ymm_avx512_regs, gdbarch_tdep::num_ymm_regs, gdbarch_tdep::num_zmm_regs, ON_STACK, pcc_struct_return, gdbarch_tdep::pkru_regnum, gdbarch_tdep::record_regmap, gdbarch_tdep::register_names, gdbarch_tdep::register_reggroup_p, gdbarch_tdep::sc_pc_offset, gdbarch_tdep::sc_reg_offset, gdbarch_tdep::sc_sp_offset, set_gdbarch_ax_pseudo_register_collect(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_call_dummy_location(), set_gdbarch_convert_register_p(), set_gdbarch_decr_pc_after_break(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_fast_tracepoint_valid_at(), set_gdbarch_fetch_pointer_argument(), set_gdbarch_floatformat_for_type(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_frame_args_skip(), set_gdbarch_gen_return_address(), set_gdbarch_get_longjmp_target(), set_gdbarch_gnu_triplet_regexp(), set_gdbarch_inner_than(), set_gdbarch_insn_is_call(), set_gdbarch_insn_is_jump(), set_gdbarch_insn_is_ret(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_long_long_align_bit(), set_gdbarch_max_insn_length(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_print_float_info(), set_gdbarch_print_insn(), set_gdbarch_ps_regnum(), set_gdbarch_pseudo_register_read_value(), set_gdbarch_pseudo_register_write(), set_gdbarch_push_dummy_call(), set_gdbarch_push_dummy_code(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_to_value(), set_gdbarch_relocate_instruction(), set_gdbarch_return_value(), set_gdbarch_sdb_reg_to_regnum(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_stab_reg_to_regnum(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_unwind_pc(), set_gdbarch_value_to_register(), set_tdesc_pseudo_register_name(), set_tdesc_pseudo_register_type(), gdbarch_tdep::sigcontext_addr, gdbarch_tdep::sigtramp_end, gdbarch_tdep::sigtramp_p, gdbarch_tdep::sigtramp_start, gdbarch_tdep::sizeof_fpregset, gdbarch_tdep::sizeof_gregset, gdbarch_tdep::st0_regnum, gdbarch_tdep::struct_return, gdbarch_info::target_desc, gdbarch_tdep::tdesc, tdesc_data, gdbarch_info::tdesc_data, tdesc_data_alloc(), tdesc_data_cleanup(), tdesc_has_registers(), tdesc_use_registers(), X86_XSTATE_SSE_MASK, XCNEW, xfree(), gdbarch_tdep::xmm16_regnum, gdbarch_tdep::xmm_avx512_register_names, gdbarch_tdep::xsave_xcr0_offset, gdbarch_tdep::ymm0_regnum, gdbarch_tdep::ymm0h_regnum, gdbarch_tdep::ymm16_regnum, gdbarch_tdep::ymm16h_register_names, gdbarch_tdep::ymm16h_regnum, gdbarch_tdep::ymmh_register_names, gdbarch_tdep::zmm0_regnum, gdbarch_tdep::zmm0h_regnum, and gdbarch_tdep::zmmh_register_names.

Referenced by _initialize_i386_tdep().

## ◆ i386_gen_return_address()

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

Definition at line 2409 of file i386-tdep.c.

References ax_const_l(), ax_reg(), ax_simple(), axs_lvalue_memory, I386_EBP_REGNUM, I386_EIP_REGNUM, register_type(), and value::type.

Referenced by i386_gdbarch_init().

## ◆ i386_get_longjmp_target()

static int i386_get_longjmp_target | ( | struct frame_info * | frame,
|  | CORE_ADDR * | pc
| ) |  |
| static

Definition at line 2599 of file i386-tdep.c.

References gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_tdep(), get_frame_arch(), get_frame_register(), I386_ESP_REGNUM, gdbarch_tdep::jb_pc_offset, and target_read_memory().

Referenced by i386_gdbarch_init().

## ◆ i386_gnu_triplet_regexp()

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

Definition at line 4429 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_in_stack_tramp_p()

static int i386_in_stack_tramp_p | ( | CORE_ADDR | pc | ) |
| static

Definition at line 2362 of file i386-tdep.c.

References find_pc_partial_function(), i386_match_insn_block(), i386_tramp_chain_in_reg_insns, i386_tramp_chain_on_stack_insns, i386_insn::insn, name, and target_read_memory().

Referenced by i386_stack_tramp_frame_sniffer().

## ◆ i386_init_reggroups()

static void i386_init_reggroups | ( | void |  | ) |
| static

Definition at line 4494 of file i386-tdep.c.

References i386_mmx_reggroup, i386_sse_reggroup, reggroup_new(), and USER_REGGROUP.

Referenced by _initialize_i386_tdep().

## ◆ i386_insn_is_call()

static int i386_insn_is_call | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | addr
| ) |  |
| static

Definition at line 761 of file i386-tdep.c.

References i386_call_p(), I386_MAX_INSN_LEN, and read_code().

Referenced by i386_gdbarch_init().

## ◆ i386_insn_is_jump()

static int i386_insn_is_jump | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | addr
| ) |  |
| static

Definition at line 787 of file i386-tdep.c.

References i386_jmp_p(), I386_MAX_INSN_LEN, and read_code().

Referenced by i386_gdbarch_init().

## ◆ i386_insn_is_ret()

static int i386_insn_is_ret | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | addr
| ) |  |
| static

Definition at line 774 of file i386-tdep.c.

References I386_MAX_INSN_LEN, i386_ret_p(), and read_code().

Referenced by i386_gdbarch_init().

## ◆ i386_iterate_over_regset_sections()

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

Definition at line 3941 of file i386-tdep.c.

References gdbarch_tdep::fpregset, gdbarch_tdep(), i386_gregset, gdbarch_tdep::sizeof_fpregset, and gdbarch_tdep::sizeof_gregset.

Referenced by i386_gdbarch_init().

## ◆ i386_jmp_p()

static int i386_jmp_p | ( | const gdb_byte * | insn | ) |
| static

Definition at line 674 of file i386-tdep.c.

References i386_absolute_jmp_p().

Referenced by i386_insn_is_jump().

## ◆ i386_k_regnum_p()

int i386_k_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 242 of file i386-tdep.c.

References gdbarch_tdep(), I387_NUM_K_REGS, gdbarch_tdep::k0_regnum, and regnum.

Referenced by i386_ax_pseudo_register_collect(), i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), and i386_pseudo_register_write().

## ◆ i386_match_insn()

static struct i386_insn* i386_match_insn | ( | CORE_ADDR | pc,
|  | struct i386_insn * | insn_patterns
| ) |  |
| static

Definition at line 1432 of file i386-tdep.c.

References i386_match_pattern(), and i386_insn::len.

Referenced by i386_analyze_frame_setup(), and i386_match_insn_block().

## ◆ i386_match_insn_block()

static int i386_match_insn_block | ( | CORE_ADDR | pc,
|  | struct i386_insn * | insn_patterns
| ) |  |
| static

Definition at line 1449 of file i386-tdep.c.

References i386_match_insn(), i386_match_pattern(), i386_insn::insn, and i386_insn::len.

Referenced by i386_in_stack_tramp_p().

## ◆ i386_match_pattern()

static int i386_match_pattern | ( | CORE_ADDR | pc,
|  | struct i386_insn | pattern
| ) |  |
| static

Definition at line 1398 of file i386-tdep.c.

References gdb_assert, I386_MAX_MATCHED_INSN_LEN, i386_insn::insn, i386_insn::len, i386_insn::mask, and target_read_code().

Referenced by i386_match_insn(), and i386_match_insn_block().

## ◆ i386_mmx_regnum_p()

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

Definition at line 164 of file i386-tdep.c.

References gdbarch_tdep(), gdbarch_tdep::mm0_regnum, gdbarch_tdep::num_mmx_regs, and regnum.

Referenced by i386_ax_pseudo_register_collect(), i386_process_record(), i386_pseudo_register_name(), i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), i386_pseudo_register_write(), and i386_register_reggroup_p().

## ◆ i386_mmx_regnum_to_fp_regnum()

static int i386_mmx_regnum_to_fp_regnum | ( | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 3251 of file i386-tdep.c.

References regcache::arch(), gdbarch_tdep(), I387_FSTAT_REGNUM, I387_ST0_REGNUM, gdbarch_tdep::mm0_regnum, regcache_raw_read_unsigned(), and regnum.

Referenced by i386_pseudo_register_read_into_value(), and i386_pseudo_register_write().

## ◆ i386_mmx_type()

static struct type* i386_mmx_type | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 3175 of file i386-tdep.c.

References append_composite_type_field(), arch_composite_type(), builtin_type::builtin_int16, builtin_type::builtin_int32, builtin_type::builtin_int64, builtin_type::builtin_int8, builtin_type(), gdbarch_tdep(), gdbarch_tdep::i386_mmx_type, init_vector_type(), TYPE_CODE_UNION, TYPE_NAME, and TYPE_VECTOR.

Referenced by i386_pseudo_register_type().

## ◆ i386_mpx_bd_base()

static unsigned long i386_mpx_bd_base | ( | void |  | ) |
| static

Definition at line 8737 of file i386-tdep.c.

References _, regcache::arch(), gdbarch_tdep::bndcfgu_regnum, error(), gdbarch_tdep(), get_current_regcache(), MPX_BASE_MASK, REG_VALID, and regcache_raw_read_unsigned().

Referenced by i386_mpx_info_bounds(), and i386_mpx_set_bounds().

## ◆ i386_mpx_ctrl_regnum_p()

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

Definition at line 407 of file i386-tdep.c.

References gdbarch_tdep(), I387_BNDCFGU_REGNUM, I387_NUM_MPX_CTRL_REGS, and regnum.

Referenced by i386_register_reggroup_p().

## ◆ i386_mpx_enabled()

int i386_mpx_enabled | ( | void |  | ) |

Definition at line 8756 of file i386-tdep.c.

References gdbarch_tdep(), get_current_arch(), gdbarch_tdep::tdesc, and tdesc_find_feature().

Referenced by i386_linux_handle_segmentation_fault(), i386_mpx_info_bounds(), and i386_mpx_set_bounds().

## ◆ i386_mpx_get_bt_entry()

static CORE_ADDR i386_mpx_get_bt_entry | ( | CORE_ADDR | ptr,
|  | CORE_ADDR | bd_base
| ) |  |
| static

Definition at line 8773 of file i386-tdep.c.

References _, builtin_type::builtin_data_ptr, builtin_type(), error(), gdbarch_ptr_bit(), get_current_arch(), MPX_BD_MASK, MPX_BD_MASK_32, MPX_BT_MASK, MPX_BT_MASK_32, offset1, paddress(), and read_memory_typed_address().

Referenced by i386_mpx_info_bounds(), and i386_mpx_set_bounds().

## ◆ i386_mpx_info_bounds()

static void i386_mpx_info_bounds | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 8877 of file i386-tdep.c.

References _, builtin_type::builtin_data_ptr, builtin_type(), gdbarch_bfd_arch_info(), get_current_arch(), i386_mpx_bd_base(), i386_mpx_enabled(), i386_mpx_get_bt_entry(), i386_mpx_print_bounds(), memset(), parse_and_eval_address(), printf_unfiltered(), read_memory_typed_address(), and TYPE_LENGTH.

Referenced by _initialize_i386_tdep().

## ◆ i386_mpx_print_bounds()

static void i386_mpx_print_bounds | ( | const CORE_ADDR | bt_entry[4] | ) |
| static

Definition at line 8828 of file i386-tdep.c.

References current_uiout, ui_out::field_core_addr(), ui_out::field_fmt(), gdbarch_ptr_bit(), get_current_arch(), plongest(), size, and ui_out::text().

Referenced by i386_mpx_info_bounds().

## ◆ i386_mpx_set_bounds()

static void i386_mpx_set_bounds | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 8919 of file i386-tdep.c.

References _, builtin_type::builtin_data_ptr, builtin_type(), gdbarch::byte_order, error(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), get_current_arch(), i386_mpx_bd_base(), i386_mpx_enabled(), i386_mpx_get_bt_entry(), parse_to_comma_and_eval(), read_memory_typed_address(), TYPE_LENGTH, value_as_address(), and write_memory_unsigned_integer().

Referenced by _initialize_i386_tdep().

## ◆ i386_mxcsr_regnum_p()

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

Definition at line 354 of file i386-tdep.c.

References gdbarch_tdep(), I387_MXCSR_REGNUM, I387_NUM_XMM_REGS, and regnum.

Referenced by i386_process_record(), and i386_register_reggroup_p().

## ◆ i386_next_regnum()

static int i386_next_regnum | ( | int | regnum | ) |
| static

Definition at line 3709 of file i386-tdep.c.

References I386_EBP_REGNUM, I386_EBX_REGNUM, I386_ECX_REGNUM, I386_EDI_REGNUM, I386_EDX_REGNUM, I386_ESI_REGNUM, and regnum.

Referenced by i386_convert_register_p(), i386_register_to_value(), and i386_value_to_register().

## ◆ i386_pe_skip_trampoline_code()

CORE_ADDR i386_pe_skip_trampoline_code | ( | struct frame_info * | frame,
|  | CORE_ADDR | pc,
|  | char * | name
| ) |  |

Definition at line 3957 of file i386-tdep.c.

References gdbarch::byte_order, gdbarch_byte_order(), get_frame_arch(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, MSYMBOL_LINKAGE_NAME, name, read_memory_unsigned_integer(), and startswith().

Referenced by i386_cygwin_skip_trampoline_code().

## ◆ i386_pkru_regnum_p()

bool i386_pkru_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 421 of file i386-tdep.c.

References gdbarch_tdep(), I387_NUM_PKEYS_REGS, gdbarch_tdep::pkru_regnum, and regnum.

Referenced by i386_register_reggroup_p().

## ◆ i386_print_insn()

static int i386_print_insn | ( | bfd_vma | pc,
|  | struct disassemble_info * | info
| ) |  |
| static

Definition at line 4002 of file i386-tdep.c.

References att_flavor, default_print_insn(), disassembly_flavor, gdb_assert, and intel_flavor.

Referenced by i386_gdbarch_init().

## ◆ i386_process_record()

int i386_process_record | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | CORE_ADDR | input_addr
| ) |  |

Definition at line 5025 of file i386-tdep.c.

References _, i386_record_s::addr, i386_record_s::aflag, i386_record_s::dflag, extract_unsigned_integer(), fprintf_unfiltered(), gdb_stdlog, i386_record_s::gdbarch, gdbarch_byte_order(), gdbarch_tdep(), I386_EAX_REGNUM, i386_fp_regnum_p(), i386_fpc_regnum_p(), gdbarch_tdep::i386_intx80_record, I386_MAX_REGISTER_SIZE, i386_mmx_regnum_p(), i386_mxcsr_regnum_p(), i386_record_floats(), I386_RECORD_FULL_ARCH_LIST_ADD_REG, i386_record_lea_modrm(), i386_record_lea_modrm_addr(), i386_record_modrm(), i386_record_push(), I386_SAVE_FPU_ENV, I386_SAVE_FPU_ENV_REG_STACK, I386_SAVE_FPU_REGS, gdbarch_tdep::i386_syscall_record, gdbarch_tdep::i386_sysenter_record, i386_xmm_regnum_p(), I387_FCTRL_REGNUM, I387_FTAG_REGNUM, I387_MM0_REGNUM, I387_MXCSR_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, memset(), i386_record_s::mod, i386_record_s::modrm, OP_CMPL, i386_record_s::orig_addr, i386_record_s::ot, OT_BYTE, OT_DQUAD, OT_LONG, OT_QUAD, OT_WORD, i386_record_s::override, paddress(), i386_record_s::popl_esp_hack, PREFIX_ADDR, PREFIX_DATA, PREFIX_LOCK, PREFIX_REPNZ, PREFIX_REPZ, printf_unfiltered(), record_debug, record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), record_full_memory_query, record_read_memory(), gdbarch_tdep::record_regmap, i386_record_s::reg, i386_record_s::regcache, regcache_raw_read_unsigned(), i386_record_s::regmap, regnum, i386_record_s::rex_b, i386_record_s::rex_x, i386_record_s::rip_offset, i386_record_s::rm, X86_RECORD_CS_REGNUM, X86_RECORD_DS_REGNUM, X86_RECORD_EFLAGS_REGNUM, X86_RECORD_ES_REGNUM, X86_RECORD_FS_REGNUM, X86_RECORD_GS_REGNUM, X86_RECORD_R8_REGNUM, X86_RECORD_REAX_REGNUM, X86_RECORD_REBP_REGNUM, X86_RECORD_REBX_REGNUM, X86_RECORD_RECX_REGNUM, X86_RECORD_REDI_REGNUM, X86_RECORD_REDX_REGNUM, X86_RECORD_REIP_REGNUM, X86_RECORD_RESI_REGNUM, X86_RECORD_RESP_REGNUM, X86_RECORD_SS_REGNUM, and yquery().

Referenced by amd64_linux_init_abi_common(), and i386_linux_init_abi().

## ◆ i386_pseudo_register_name()

const char* i386_pseudo_register_name | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 457 of file i386-tdep.c.

References _, gdbarch_tdep::al_regnum, gdbarch_tdep::ax_regnum, gdbarch_tdep::bnd0_regnum, gdbarch_tdep(), i386_bnd_names, i386_bnd_regnum_p(), i386_byte_names, i386_byte_regnum_p(), i386_mmx_names, i386_mmx_regnum_p(), i386_word_names, i386_word_regnum_p(), i386_ymm_names, i386_ymm_regnum_p(), i386_zmm_names, i386_zmm_regnum_p(), I387_MM0_REGNUM, internal_error(), regnum, gdbarch_tdep::ymm0_regnum, and gdbarch_tdep::zmm0_regnum.

Referenced by amd64_pseudo_register_name(), and i386_gdbarch_init().

## ◆ i386_pseudo_register_read_into_value()

void i386_pseudo_register_read_into_value | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | struct value * | result_value
| ) |  |

Definition at line 3271 of file i386-tdep.c.

References _, gdbarch_tdep::al_regnum, gdbarch_tdep::ax_regnum, gdbarch_tdep::bnd0_regnum, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_tdep(), i386_bnd_regnum_p(), i386_byte_regnum_p(), i386_k_regnum_p(), I386_MAX_REGISTER_SIZE, i386_mmx_regnum_p(), i386_mmx_regnum_to_fp_regnum(), i386_word_regnum_p(), i386_ymm_avx512_regnum_p(), i386_ymm_regnum_p(), i386_zmm_regnum_p(), I387_BND0R_REGNUM, I387_XMM0_REGNUM, I387_XMM16_REGNUM, I387_YMM16H_REGNUM, internal_error(), gdbarch_tdep::k0_regnum, mark_value_bytes_unavailable(), num_lower_zmm_regs, REG_VALID, regcache_raw_read(), register_size(), regnum, size, status, target_gdbarch(), TYPE_LENGTH, value_contents_raw(), value_type(), gdbarch_tdep::ymm0_regnum, gdbarch_tdep::ymm0h_regnum, gdbarch_tdep::ymm16_regnum, gdbarch_tdep::ymm16h_regnum, gdbarch_tdep::zmm0_regnum, and gdbarch_tdep::zmm0h_regnum.

Referenced by amd64_pseudo_register_read_value(), and i386_pseudo_register_read_value().

## ◆ i386_pseudo_register_read_value()

static struct value* i386_pseudo_register_read_value | ( | struct gdbarch * | gdbarch,
|  | struct regcache * | regcache,
|  | int | regnum
| ) |  |
| static

Definition at line 3462 of file i386-tdep.c.

References allocate_value(), i386_pseudo_register_read_into_value(), lval_register, register_type(), regnum, VALUE_LVAL, and VALUE_REGNUM.

Referenced by i386_gdbarch_init().

## ◆ i386_pseudo_register_type()

struct type* i386_pseudo_register_type | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 3219 of file i386-tdep.c.

References _, builtin_type::builtin_int16, builtin_type::builtin_int32, builtin_type::builtin_int64, builtin_type::builtin_int8, builtin_type(), i386_bnd_regnum_p(), i386_bnd_type(), i386_byte_regnum_p(), i386_dword_regnum_p(), i386_k_regnum_p(), i386_mmx_regnum_p(), i386_mmx_type(), i386_word_regnum_p(), i386_ymm_avx512_regnum_p(), i386_ymm_regnum_p(), i386_ymm_type(), i386_zmm_regnum_p(), i386_zmm_type(), internal_error(), and regnum.

Referenced by amd64_x32_pseudo_register_type(), and i386_gdbarch_init().

## ◆ i386_pseudo_register_write()

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

Definition at line 3478 of file i386-tdep.c.

References _, gdbarch_tdep::al_regnum, gdbarch_tdep::ax_regnum, gdbarch_tdep::bnd0_regnum, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_tdep(), i386_bnd_regnum_p(), i386_byte_regnum_p(), i386_k_regnum_p(), I386_MAX_REGISTER_SIZE, i386_mmx_regnum_p(), i386_mmx_regnum_to_fp_regnum(), i386_word_regnum_p(), i386_ymm_avx512_regnum_p(), i386_ymm_regnum_p(), i386_zmm_regnum_p(), I387_BND0R_REGNUM, I387_XMM0_REGNUM, I387_XMM16_REGNUM, I387_YMM0_REGNUM, I387_YMM16H_REGNUM, internal_error(), gdbarch_tdep::k0_regnum, num_lower_zmm_regs, regcache_raw_read(), regcache_raw_write(), register_size(), regnum, size, target_gdbarch(), TYPE_LENGTH, gdbarch_tdep::ymm0_regnum, gdbarch_tdep::ymm0h_regnum, gdbarch_tdep::ymm16_regnum, gdbarch_tdep::ymm16h_regnum, gdbarch_tdep::zmm0_regnum, and gdbarch_tdep::zmm0h_regnum.

Referenced by amd64_pseudo_register_write(), and i386_gdbarch_init().

## ◆ i386_push_dummy_call()

static CORE_ADDR i386_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 2671 of file i386-tdep.c.

References align_up(), gdbarch::byte_order, gdbarch_byte_order(), i386_16_byte_align_p(), I386_EBP_REGNUM, I386_ESP_REGNUM, i387_reset_bnd_regs(), regcache_cooked_write(), store_unsigned_integer(), TYPE_LENGTH, value_contents_all(), value_enclosing_type(), and write_memory().

Referenced by i386_gdbarch_init().

## ◆ i386_push_dummy_code()

static CORE_ADDR i386_push_dummy_code | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | sp,
|  | CORE_ADDR | funaddr,
|  | struct value ** | args,
|  | int | nargs,
|  | struct type * | value_type,
|  | CORE_ADDR * | real_pc,
|  | CORE_ADDR * | bp_addr,
|  | struct regcache * | regcache
| ) |  |
| static

Definition at line 2657 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_record_floats()

static int i386_record_floats | ( | struct gdbarch * | gdbarch,
|  | struct i386_record_s * | ir,
|  | uint32_t | iregnum
| ) |  |
| static

Definition at line 4959 of file i386-tdep.c.

References gdbarch_tdep(), I386_SAVE_FPU_ENV, I386_SAVE_FPU_ENV_REG_STACK, I386_SAVE_FPU_REGS, I387_FCTRL_REGNUM, I387_FOP_REGNUM, I387_ST0_REGNUM, record_full_arch_list_add_reg(), and i386_record_s::regcache.

Referenced by i386_process_record().

## ◆ i386_record_lea_modrm()

static int i386_record_lea_modrm | ( | struct i386_record_s * | irp | ) |
| static

Definition at line 4900 of file i386-tdep.c.

References _, i386_record_s::gdbarch, i386_record_lea_modrm_addr(), i386_record_s::orig_addr, i386_record_s::ot, i386_record_s::override, paddress(), record_full_arch_list_add_mem(), record_full_memory_query, and yquery().

Referenced by i386_process_record().

## ◆ i386_record_lea_modrm_addr()

static int i386_record_lea_modrm_addr | ( | struct i386_record_s * | irp,
|  | uint64_t * | addr
| ) |  |
| static

Definition at line 4702 of file i386-tdep.c.

References i386_record_s::addr, i386_record_s::aflag, gdbarch::byte_order, extract_signed_integer(), i386_record_s::gdbarch, gdbarch_byte_order(), i386_record_s::mod, i386_record_s::popl_esp_hack, record_read_memory(), i386_record_s::regcache, regcache_raw_read_unsigned(), i386_record_s::regmap, i386_record_s::rex_b, i386_record_s::rex_x, i386_record_s::rip_offset, i386_record_s::rm, X86_RECORD_R8_REGNUM, X86_RECORD_REBP_REGNUM, X86_RECORD_REBX_REGNUM, X86_RECORD_REDI_REGNUM, and X86_RECORD_RESI_REGNUM.

Referenced by i386_process_record(), and i386_record_lea_modrm().

## ◆ i386_record_modrm()

static int i386_record_modrm | ( | struct i386_record_s * | irp | ) |
| static

Definition at line 4683 of file i386-tdep.c.

References i386_record_s::addr, i386_record_s::gdbarch, i386_record_s::mod, i386_record_s::modrm, record_read_memory(), i386_record_s::reg, and i386_record_s::rm.

Referenced by i386_process_record().

## ◆ i386_record_push()

static int i386_record_push | ( | struct i386_record_s * | irp,
|  | int | size
| ) |  |
| static

Definition at line 4933 of file i386-tdep.c.

References record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), i386_record_s::regcache, regcache_raw_read_unsigned(), i386_record_s::regmap, size, and X86_RECORD_RESP_REGNUM.

Referenced by i386_process_record().

## ◆ i386_reg_struct_return_p()

static int i386_reg_struct_return_p | ( | struct gdbarch * | gdbarch,
|  | struct type * | type
| ) |  |
| static

Definition at line 2915 of file i386-tdep.c.

References check_typedef(), code, default_struct_convention, gdb_assert, gdbarch_tdep(), pcc_struct_convention, pcc_struct_return, struct_convention, gdbarch_tdep::struct_return, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_FLT, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_TYPE, TYPE_LENGTH, and TYPE_NFIELDS.

Referenced by i386_return_value().

## ◆ i386_register_name()

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

Definition at line 437 of file i386-tdep.c.

References i386_ymmh_avx512_regnum_p(), i386_ymmh_regnum_p(), i386_zmmh_regnum_p(), regnum, and tdesc_register_name().

Referenced by i386_gdbarch_init().

## ◆ i386_register_reggroup_p()

int i386_register_reggroup_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum,
|  | struct reggroup * | group
| ) |  |

Definition at line 4515 of file i386-tdep.c.

References all_reggroup, default_register_reggroup_p(), float_reggroup, gdbarch_tdep(), general_reggroup, i386_bnd_regnum_p(), i386_bndr_regnum_p(), i386_byte_regnum_p(), i386_dword_regnum_p(), i386_fp_regnum_p(), i386_fpc_regnum_p(), i386_mmx_reggroup, i386_mmx_regnum_p(), i386_mpx_ctrl_regnum_p(), i386_mxcsr_regnum_p(), i386_pkru_regnum_p(), i386_sse_reggroup, i386_word_regnum_p(), i386_xmm_avx512_regnum_p(), i386_xmm_regnum_p(), i386_ymm_avx512_regnum_p(), i386_ymm_regnum_p(), i386_ymmh_avx512_regnum_p(), i386_ymmh_regnum_p(), i386_zmm_regnum_p(), i386_zmmh_regnum_p(), regnum, vector_reggroup, X86_XSTATE_AVX_AVX512_MASK, X86_XSTATE_AVX_MASK, X86_XSTATE_MPX_MASK, X86_XSTATE_SSE_MASK, and gdbarch_tdep::xcr0.

Referenced by amd64_linux_register_reggroup_p(), i386_gdbarch_init(), and i386_linux_register_reggroup_p().

## ◆ i386_register_to_value()

static int i386_register_to_value | ( | struct frame_info * | frame,
|  | int | regnum,
|  | struct type * | type,
|  | gdb_byte * | to,
|  | int * | optimizedp,
|  | int * | unavailablep
| ) |  |
| static

Definition at line 3769 of file i386-tdep.c.

References gdb_assert, get_frame_arch(), get_frame_register_bytes(), i386_fp_regnum_p(), i386_next_regnum(), i387_register_to_value(), register_size(), regnum, and TYPE_LENGTH.

Referenced by i386_gdbarch_init().

## ◆ i386_relocate_instruction()

static void i386_relocate_instruction | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR * | to,
|  | CORE_ADDR | oldloc
| ) |  |
| static

Definition at line 977 of file i386-tdep.c.

References append_insns(), debug_displaced, extract_signed_integer(), fprintf_unfiltered(), gdb_buffered_insn_length(), gdb_stdlog, gdbarch_byte_order(), hex_string(), I386_MAX_INSN_LEN, offset, paddress(), read_memory(), store_signed_integer(), and store_unsigned_integer().

Referenced by i386_gdbarch_init().

## ◆ i386_ret_p()

static int i386_ret_p | ( | const gdb_byte * | insn | ) |
| static

Definition at line 709 of file i386-tdep.c.

Referenced by i386_displaced_step_fixup(), and i386_insn_is_ret().

## ◆ i386_return_value()

static enum return_value_convention i386_return_value | ( | struct gdbarch * | gdbarch,
|  | struct value * | function,
|  | struct type * | type,
|  | struct regcache * | regcache,
|  | gdb_byte * | readbuf,
|  | const gdb_byte * | writebuf
| ) |  |
| static

Definition at line 2949 of file i386-tdep.c.

References check_typedef(), code, I386_EAX_REGNUM, i386_extract_return_value(), i386_reg_struct_return_p(), i386_store_return_value(), read_memory(), regcache_raw_read_unsigned(), RETURN_VALUE_ABI_RETURNS_ADDRESS, RETURN_VALUE_REGISTER_CONVENTION, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_COMPLEX, TYPE_CODE_DECFLOAT, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_TYPE, TYPE_LENGTH, and TYPE_NFIELDS.

Referenced by i386_gdbarch_init().

## ◆ i386_sigtramp_frame_cache()

static struct i386_frame_cache* i386_sigtramp_frame_cache | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2426 of file i386-tdep.c.

References i386_frame_cache::base, i386_frame_cache::base_p, CATCH, END_CATCH, extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), gdbarch_tdep(), get_frame_arch(), get_frame_register(), i386_alloc_frame_cache(), I386_EIP_REGNUM, I386_ESP_REGNUM, I386_NUM_SAVED_REGS, NOT_AVAILABLE_ERROR, RETURN_MASK_ERROR, i386_frame_cache::saved_regs, gdbarch_tdep::sc_num_regs, gdbarch_tdep::sc_pc_offset, gdbarch_tdep::sc_reg_offset, gdbarch_tdep::sc_sp_offset, gdbarch_tdep::sigcontext_addr, throw_exception(), and TRY.

Referenced by i386_sigtramp_frame_prev_register(), i386_sigtramp_frame_this_id(), and i386_sigtramp_frame_unwind_stop_reason().

## ◆ i386_sigtramp_frame_prev_register()

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

Definition at line 2505 of file i386-tdep.c.

References i386_frame_prev_register(), i386_sigtramp_frame_cache(), and regnum.

## ◆ i386_sigtramp_frame_sniffer()

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

Definition at line 2515 of file i386-tdep.c.

References gdb_assert, gdbarch_tdep(), get_frame_arch(), get_frame_pc(), gdbarch_tdep::pc, gdbarch_tdep::sigcontext_addr, gdbarch_tdep::sigtramp_end, gdbarch_tdep::sigtramp_p, and gdbarch_tdep::sigtramp_start.

## ◆ i386_sigtramp_frame_this_id()

static void i386_sigtramp_frame_this_id | ( | struct frame_info * | this_frame,
|  | void ** | this_cache,
|  | struct frame_id * | this_id
| ) |  |
| static

Definition at line 2489 of file i386-tdep.c.

References i386_frame_cache::base, i386_frame_cache::base_p, frame_id_build(), frame_id_build_unavailable_stack(), get_frame_pc(), and i386_sigtramp_frame_cache().

## ◆ i386_sigtramp_frame_unwind_stop_reason()

static enum unwind_stop_reason i386_sigtramp_frame_unwind_stop_reason | ( | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2476 of file i386-tdep.c.

References i386_frame_cache::base_p, and i386_sigtramp_frame_cache().

## ◆ i386_sigtramp_p()

int i386_sigtramp_p | ( | struct frame_info * | this_frame | ) |

Definition at line 3988 of file i386-tdep.c.

References find_pc_partial_function(), get_frame_pc(), and name.

Referenced by darwin_dwarf_signal_frame_p(), i386_darwin_init_abi(), i386_gdbarch_init(), and x86_darwin_init_abi_64().

## ◆ i386_skip_main_prologue()

CORE_ADDR i386_skip_main_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |

Definition at line 1927 of file i386-tdep.c.

References extract_signed_integer(), gdbarch_byte_order(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, MSYMBOL_LINKAGE_NAME, and target_read_code().

Referenced by i386_cygwin_init_abi().

## ◆ i386_skip_noop()

static CORE_ADDR i386_skip_noop | ( | CORE_ADDR | pc | ) |
| static

Definition at line 1539 of file i386-tdep.c.

References check(), and target_read_code().

Referenced by i386_analyze_prologue().

## ◆ i386_skip_probe()

static CORE_ADDR i386_skip_probe | ( | CORE_ADDR | pc | ) |
| static

Definition at line 1227 of file i386-tdep.c.

References i386_frame_cache::pc, read_memory(), and target_read_code().

Referenced by i386_analyze_prologue().

## ◆ i386_skip_prologue()

static CORE_ADDR i386_skip_prologue | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | start_pc
| ) |  |
| static

Definition at line 1825 of file i386-tdep.c.

References COMPUNIT_PRODUCER, find_pc_compunit_symtab(), find_pc_partial_function(), gdbarch_byte_order(), i386_analyze_prologue(), i386_follow_jump(), i386_frame_cache::locals, i386_frame_cache::pc, read_code_unsigned_integer(), skip_prologue_using_sal(), startswith(), and target_read_code().

Referenced by i386_gdbarch_init().

## ◆ i386_stack_frame_destroyed_p()

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

Definition at line 2212 of file i386-tdep.c.

References COMPUNIT_EPILOGUE_UNWIND_VALID, find_pc_compunit_symtab(), and target_read_memory().

Referenced by i386_epilogue_frame_sniffer().

## ◆ i386_stack_tramp_frame_sniffer()

static int i386_stack_tramp_frame_sniffer | ( | const struct frame_unwind * | self,
|  | struct frame_info * | this_frame,
|  | void ** | this_cache
| ) |  |
| static

Definition at line 2386 of file i386-tdep.c.

References frame_relative_level(), get_frame_pc(), and i386_in_stack_tramp_p().

## ◆ i386_stap_is_single_operand()

int i386_stap_is_single_operand | ( | struct gdbarch * | gdbarch,
|  | const char * | s
| ) |  |

Definition at line 4058 of file i386-tdep.c.

Referenced by amd64_init_abi(), and i386_elf_init_abi().

## ◆ i386_stap_parse_special_token()

int i386_stap_parse_special_token | ( | struct gdbarch * | gdbarch,
|  | struct stap_parse_info * | p
| ) |  |

Definition at line 4378 of file i386-tdep.c.

References i386_stap_parse_special_token_three_arg_disp(), and i386_stap_parse_special_token_triplet().

Referenced by amd64_init_abi(), and i386_elf_init_abi().

## ◆ i386_stap_parse_special_token_three_arg_disp()

static int i386_stap_parse_special_token_three_arg_disp | ( | struct gdbarch * | gdbarch,
|  | struct stap_parse_info * | p
| ) |  |
| static

Definition at line 4221 of file i386-tdep.c.

References _, stap_parse_info::arg, stap_parse_info::arg_type, error(), stoken::length, lookup_pointer_type(), offset, stap_parse_info::pstate, stoken::ptr, stap_parse_info::saved_arg, size, user_reg_map_name_to_regnum(), write_exp_elt_longcst(), write_exp_elt_opcode(), write_exp_elt_type(), and write_exp_string().

Referenced by i386_stap_parse_special_token().

## ◆ i386_stap_parse_special_token_triplet()

static int i386_stap_parse_special_token_triplet | ( | struct gdbarch * | gdbarch,
|  | struct stap_parse_info * | p
| ) |  |
| static

Definition at line 4075 of file i386-tdep.c.

References _, stap_parse_info::arg, stap_parse_info::arg_type, error(), stoken::length, lookup_pointer_type(), stap_parse_info::pstate, stoken::ptr, stap_parse_info::saved_arg, user_reg_map_name_to_regnum(), write_exp_elt_longcst(), write_exp_elt_opcode(), write_exp_elt_type(), and write_exp_string().

Referenced by i386_stap_parse_special_token().

## ◆ i386_store_return_value()

static void i386_store_return_value | ( | struct gdbarch * | gdbarch,
|  | struct type * | type,
|  | struct regcache * | regcache,
|  | const gdb_byte * | valbuf
| ) |  |
| static

Definition at line 2835 of file i386-tdep.c.

References _, gdbarch_tdep(), HIGH_RETURN_REGNUM, I386_MAX_REGISTER_SIZE, I386_ST0_REGNUM, i387_ext_type(), I387_FSTAT_REGNUM, I387_FTAG_REGNUM, internal_error(), LOW_RETURN_REGNUM, regcache_raw_read_unsigned(), regcache_raw_write(), regcache_raw_write_part(), regcache_raw_write_unsigned(), register_size(), gdbarch_tdep::st0_regnum, target_float_convert(), TYPE_CODE, TYPE_CODE_FLT, TYPE_LENGTH, and warning().

Referenced by i386_return_value().

## ◆ i386_supply_fpregset()

static void i386_supply_fpregset | ( | const struct regset * | regset,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const void * | fpregs,
|  | size_t | len
| ) |  |
| static

Definition at line 3887 of file i386-tdep.c.

References regcache::arch(), gdb_assert, gdbarch_tdep(), I387_SIZEOF_FXSAVE, i387_supply_fsave(), i387_supply_fxsave(), regnum, and gdbarch_tdep::sizeof_fpregset.

## ◆ i386_supply_gregset()

void i386_supply_gregset | ( | const struct regset * | regset,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const void * | gregs,
|  | size_t | len
| ) |  |

Definition at line 3839 of file i386-tdep.c.

References regcache::arch(), gdb_assert, gdbarch_tdep(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, regcache_raw_supply(), regnum, gdbarch_tdep::regs, and gdbarch_tdep::sizeof_gregset.

## ◆ i386_svr4_dwarf_reg_to_regnum()

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

Definition at line 527 of file i386-tdep.c.

References gdbarch_tdep(), I386_CS_REGNUM, i386_dbx_reg_to_regnum(), I386_DS_REGNUM, I386_ES_REGNUM, I386_FS_REGNUM, I386_GS_REGNUM, I386_SS_REGNUM, I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_MXCSR_REGNUM, and I387_ST0_REGNUM.

Referenced by i386_gdbarch_init(), and i386_svr4_reg_to_regnum().

## ◆ i386_svr4_init_abi()

void i386_svr4_init_abi | ( | struct gdbarch_info | info,
|  | struct gdbarch * | gdbarch
| ) |  |

Definition at line 4467 of file i386-tdep.c.

References find_solib_trampoline_target(), gdbarch_tdep(), i386_elf_init_abi(), i386_svr4_sigcontext_addr(), i386_svr4_sigtramp_p(), gdbarch_tdep::jb_pc_offset, gdbarch_tdep::sc_pc_offset, gdbarch_tdep::sc_sp_offset, set_gdbarch_skip_trampoline_code(), gdbarch_tdep::sigcontext_addr, and gdbarch_tdep::sigtramp_p.

Referenced by _initialize_i386_tdep(), and i386_sol2_init_abi().

## ◆ i386_svr4_reg_to_regnum()

int i386_svr4_reg_to_regnum | ( | struct gdbarch * | gdbarch,
|  | int | reg
| ) |  |

Definition at line 572 of file i386-tdep.c.

References gdbarch_num_pseudo_regs(), gdbarch_num_regs(), i386_svr4_dwarf_reg_to_regnum(), and regnum.

Referenced by i386_elf_init_abi(), and i386_go32_init_abi().

## ◆ i386_svr4_sigcontext_addr()

static CORE_ADDR i386_svr4_sigcontext_addr | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 4039 of file i386-tdep.c.

References gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_register(), I386_ESP_REGNUM, and read_memory_unsigned_integer().

Referenced by i386_svr4_init_abi().

## ◆ i386_svr4_sigtramp_p()

static int i386_svr4_sigtramp_p | ( | struct frame_info * | this_frame | ) |
| static

Definition at line 4024 of file i386-tdep.c.

References find_pc_partial_function(), get_frame_pc(), and name.

Referenced by i386_svr4_init_abi().

## ◆ i386_syscall_p()

static int i386_syscall_p | ( | const gdb_byte * | insn,
|  | int * | lengthp
| ) |  |
| static

Definition at line 742 of file i386-tdep.c.

Referenced by i386_displaced_step_copy_insn(), and i386_displaced_step_fixup().

## ◆ i386_target_description()

const struct target_desc* i386_target_description | ( | uint64_t | xcr0 | ) |

Definition at line 8714 of file i386-tdep.c.

References i386_create_target_description(), X86_XSTATE_AVX, X86_XSTATE_AVX512, X86_XSTATE_MPX, X86_XSTATE_PKRU, and X86_XSTATE_SSE.

Referenced by _initialize_i386_tdep(), amd64fbsd_read_description(), i386_gdbarch_init(), i386_go32_init_abi(), and i386fbsd_core_read_description().

## ◆ i386_unwind_pc()

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

Definition at line 1961 of file i386-tdep.c.

References extract_typed_address(), frame_unwind_register(), and gdbarch_pc_regnum().

Referenced by i386_gdbarch_init().

## ◆ i386_validate_tdesc_p()

static int i386_validate_tdesc_p | ( | struct gdbarch_tdep * | tdep,
|  | struct tdesc_arch_data * | tdesc_data
| ) |  |
| static

Definition at line 8190 of file i386-tdep.c.

References gdbarch_tdep::bnd0r_regnum, gdbarch_tdep::bndcfgu_regnum, I386_BND0R_REGNUM, I386_BNDCFGU_REGNUM, I386_K0_REGNUM, i386_k_names, i386_mpx_names, i386_pkeys_names, I386_PKRU_REGNUM, I386_YMM0H_REGNUM, i386_ymmh_names, I386_ZMM0H_REGNUM, i386_zmmh_names, I387_BND0R_REGNUM, I387_NUM_K_REGS, I387_NUM_MPX_REGS, I387_NUM_PKEYS_REGS, I387_PKRU_REGNUM, gdbarch_tdep::k0_regnum, gdbarch_tdep::k_register_names, gdbarch_tdep::mpx_register_names, gdbarch_tdep::num_core_regs, gdbarch_tdep::num_pkeys_regs, gdbarch_tdep::num_xmm_avx512_regs, gdbarch_tdep::num_xmm_regs, gdbarch_tdep::num_ymm_avx512_regs, gdbarch_tdep::num_ymm_regs, gdbarch_tdep::num_zmm_regs, gdbarch_tdep::pkeys_register_names, gdbarch_tdep::pkru_regnum, gdbarch_tdep::register_names, gdbarch_tdep::tdesc, tdesc_data, tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), X86_XSTATE_AVX_AVX512_MASK, X86_XSTATE_AVX_MASK, X86_XSTATE_MPX_MASK, X86_XSTATE_PKRU, X86_XSTATE_SSE_MASK, X86_XSTATE_X87_MASK, gdbarch_tdep::xcr0, gdbarch_tdep::xmm16_regnum, gdbarch_tdep::xmm_avx512_register_names, gdbarch_tdep::ymm0h_regnum, gdbarch_tdep::ymm16h_register_names, gdbarch_tdep::ymm16h_regnum, gdbarch_tdep::ymmh_register_names, gdbarch_tdep::zmm0h_regnum, and gdbarch_tdep::zmmh_register_names.

Referenced by i386_gdbarch_init().

## ◆ i386_value_to_register()

static void i386_value_to_register | ( | struct frame_info * | frame,
|  | int | regnum,
|  | struct type * | type,
|  | const gdb_byte * | from
| ) |  |
| static

Definition at line 3807 of file i386-tdep.c.

References gdb_assert, get_frame_arch(), i386_fp_regnum_p(), i386_next_regnum(), i387_value_to_register(), put_frame_register(), register_size(), regnum, and TYPE_LENGTH.

Referenced by i386_gdbarch_init().

## ◆ i386_word_regnum_p()

int i386_word_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 190 of file i386-tdep.c.

References gdbarch_tdep::ax_regnum, gdbarch_tdep(), gdbarch_tdep::num_word_regs, and regnum.

Referenced by amd64_pseudo_register_name(), i386_ax_pseudo_register_collect(), i386_pseudo_register_name(), i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), i386_pseudo_register_write(), and i386_register_reggroup_p().

## ◆ i386_xmm_avx512_regnum_p()

int i386_xmm_avx512_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 341 of file i386-tdep.c.

References gdbarch_tdep(), I387_NUM_XMM_AVX512_REGS, I387_XMM16_REGNUM, gdbarch_tdep::num_xmm_avx512_regs, and regnum.

Referenced by i386_register_reggroup_p().

## ◆ i386_xmm_regnum_p()

int i386_xmm_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 326 of file i386-tdep.c.

References gdbarch_tdep(), I387_NUM_XMM_REGS, I387_XMM0_REGNUM, gdbarch_tdep::num_xmm_regs, and regnum.

Referenced by amd64_dwarf_reg_to_regnum(), i386_dbx_reg_to_regnum(), i386_process_record(), and i386_register_reggroup_p().

## ◆ i386_ymm_avx512_regnum_p()

int i386_ymm_avx512_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 296 of file i386-tdep.c.

References gdbarch_tdep(), gdbarch_tdep::num_ymm_avx512_regs, regnum, and gdbarch_tdep::ymm16_regnum.

Referenced by amd64_pseudo_register_name(), i386_ax_pseudo_register_collect(), i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), i386_pseudo_register_write(), and i386_register_reggroup_p().

## ◆ i386_ymm_regnum_p()

int i386_ymm_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 270 of file i386-tdep.c.

References gdbarch_tdep(), gdbarch_tdep::num_ymm_regs, regnum, and gdbarch_tdep::ymm0_regnum.

Referenced by amd64_pseudo_register_name(), i386_ax_pseudo_register_collect(), i386_pseudo_register_name(), i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), i386_pseudo_register_write(), and i386_register_reggroup_p().

## ◆ i386_ymm_type()

static struct type* i386_ymm_type | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 3124 of file i386-tdep.c.

References append_composite_type_field(), arch_composite_type(), builtin_type::builtin_double, builtin_type::builtin_float, builtin_type::builtin_int128, builtin_type::builtin_int16, builtin_type::builtin_int32, builtin_type::builtin_int64, builtin_type::builtin_int8, builtin_type(), gdbarch_tdep(), gdbarch_tdep::i386_ymm_type, init_vector_type(), TYPE_CODE_UNION, TYPE_NAME, and TYPE_VECTOR.

Referenced by i386_pseudo_register_type().

## ◆ i386_ymmh_avx512_regnum_p()

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

Definition at line 283 of file i386-tdep.c.

References gdbarch_tdep(), gdbarch_tdep::num_ymm_avx512_regs, regnum, and gdbarch_tdep::ymm16h_regnum.

Referenced by i386_register_name(), and i386_register_reggroup_p().

## ◆ i386_ymmh_regnum_p()

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

Definition at line 255 of file i386-tdep.c.

References gdbarch_tdep(), gdbarch_tdep::num_ymm_regs, regnum, and gdbarch_tdep::ymm0h_regnum.

Referenced by i386_register_name(), and i386_register_reggroup_p().

## ◆ i386_zmm_regnum_p()

int i386_zmm_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 229 of file i386-tdep.c.

References gdbarch_tdep(), gdbarch_tdep::num_zmm_regs, regnum, and gdbarch_tdep::zmm0_regnum.

Referenced by amd64_pseudo_register_name(), i386_ax_pseudo_register_collect(), i386_pseudo_register_name(), i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), i386_pseudo_register_write(), and i386_register_reggroup_p().

## ◆ i386_zmm_type()

static struct type* i386_zmm_type | ( | struct gdbarch * | gdbarch | ) |
| static

Definition at line 3071 of file i386-tdep.c.

References append_composite_type_field(), arch_composite_type(), builtin_type::builtin_double, builtin_type::builtin_float, builtin_type::builtin_int128, builtin_type::builtin_int16, builtin_type::builtin_int32, builtin_type::builtin_int64, builtin_type::builtin_int8, builtin_type(), gdbarch_tdep(), gdbarch_tdep::i386_zmm_type, init_vector_type(), TYPE_CODE_UNION, TYPE_NAME, and TYPE_VECTOR.

Referenced by i386_pseudo_register_type().

## ◆ i386_zmmh_regnum_p()

int i386_zmmh_regnum_p | ( | struct gdbarch * | gdbarch,
|  | int | regnum
| ) |  |

Definition at line 216 of file i386-tdep.c.

References gdbarch_tdep(), gdbarch_tdep::num_zmm_regs, regnum, and gdbarch_tdep::zmm0h_regnum.

Referenced by i386_register_name(), and i386_register_reggroup_p().

## ◆ i387_ext_type()

struct type* i387_ext_type | ( | struct gdbarch * | gdbarch | ) |

Definition at line 3017 of file i386-tdep.c.

References gdb_assert, gdbarch_tdep(), gdbarch_tdep::i387_ext_type, and tdesc_find_type().

Referenced by i386_extract_return_value(), i386_store_return_value(), i387_convert_register_p(), i387_register_to_value(), i387_value_to_register(), and print_i387_value().

## ◆ set_mpx_cmd()

static void set_mpx_cmd | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 8974 of file i386-tdep.c.

References all_commands, gdb_stdout, help_list(), and mpx_set_cmdlist.

Referenced by _initialize_i386_tdep().

## ◆ show_mpx_cmd()

static void show_mpx_cmd | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 8982 of file i386-tdep.c.

References cmd_show_list(), and mpx_show_cmdlist.

Referenced by _initialize_i386_tdep().

## Variable Documentation

## ◆ att_flavor

const char att_flavor[] = "att"
| static

Definition at line 585 of file i386-tdep.c.

Referenced by i386_print_insn().

## ◆ default_struct_convention

const char default_struct_convention[] = "default"
| static

Definition at line 2898 of file i386-tdep.c.

Referenced by i386_reg_struct_return_p().

## ◆ disassembly_flavor

const char* disassembly_flavor = att_flavor
| static

Definition at line 593 of file i386-tdep.c.

Referenced by _initialize_i386_tdep(), and i386_print_insn().

## ◆ i386_bnd_names

const char* i386_bnd_names[]
| static

Initial value:
=
{
"bnd0", "bnd1", "bnd2", "bnd3"
}

Definition at line 126 of file i386-tdep.c.

Referenced by i386_pseudo_register_name().

## ◆ i386_break_insn

constexpr gdb_byte i386_break_insn[] = { 0xcc }

Definition at line 607 of file i386-tdep.c.

## ◆ i386_byte_names

const char* i386_byte_names[]
| static

Initial value:
=
{
"al", "cl", "dl", "bl",
"ah", "ch", "dh", "bh"
}

Definition at line 141 of file i386-tdep.c.

Referenced by i386_pseudo_register_name().

## ◆ i386_epilogue_frame_unwind

const struct frame_unwind i386_epilogue_frame_unwind
| static

Initial value:
=
{
NORMAL_FRAME,
i386_epilogue_frame_unwind_stop_reason,
i386_epilogue_frame_this_id,
i386_epilogue_frame_prev_register,
NULL,
i386_epilogue_frame_sniffer
}
NORMAL_FRAME
Definition: frame.h:244
i386_epilogue_frame_sniffer
static int i386_epilogue_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: i386-tdep.c:2231
i386_epilogue_frame_this_id
static void i386_epilogue_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: i386-tdep.c:2292
i386_epilogue_frame_prev_register
static struct value * i386_epilogue_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: i386-tdep.c:2306
i386_epilogue_frame_unwind_stop_reason
static enum unwind_stop_reason i386_epilogue_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: i386-tdep.c:2279

Definition at line 2315 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_fpregset

const struct regset i386_fpregset

Initial value:
=
{
NULL, i386_supply_fpregset, i386_collect_fpregset
}
i386_collect_fpregset
static void i386_collect_fpregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *fpregs, size_t len)
Definition: i386-tdep.c:3909
i386_supply_fpregset
static void i386_supply_fpregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *fpregs, size_t len)
Definition: i386-tdep.c:3887

Definition at line 3933 of file i386-tdep.c.

Referenced by i386_gdbarch_init(), i386_linux_iterate_over_regset_sections(), and i386fbsd_iterate_over_regset_sections().

## ◆ i386_frame_base

const struct frame_base i386_frame_base
| static

Initial value:
=
{
&i386_frame_unwind,
i386_frame_base_address,
i386_frame_base_address,
i386_frame_base_address
}
i386_frame_unwind
static const struct frame_unwind i386_frame_unwind
Definition: i386-tdep.c:2193
i386_frame_base_address
static CORE_ADDR i386_frame_base_address(struct frame_info *this_frame, void **this_cache)
Definition: i386-tdep.c:2556

Definition at line 2563 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_frame_setup_skip_insns

struct i386_insn i386_frame_setup_skip_insns[]

Definition at line 1487 of file i386-tdep.c.

Referenced by i386_analyze_frame_setup().

## ◆ i386_frame_unwind

const struct frame_unwind i386_frame_unwind
| static

Initial value:
=
{
NORMAL_FRAME,
i386_frame_unwind_stop_reason,
i386_frame_this_id,
i386_frame_prev_register,
NULL,
default_frame_sniffer
}
i386_frame_prev_register
static struct value * i386_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: i386-tdep.c:2134
i386_frame_unwind_stop_reason
static enum unwind_stop_reason i386_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: i386-tdep.c:2118
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
i386_frame_this_id
static void i386_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: i386-tdep.c:2099

Definition at line 2193 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_gregset

const struct regset i386_gregset

Initial value:
=
{
NULL, i386_supply_gregset, i386_collect_gregset
}
i386_supply_gregset
void i386_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
Definition: i386-tdep.c:3839
i386_collect_gregset
static void i386_collect_gregset(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
Definition: i386-tdep.c:3863

Definition at line 3928 of file i386-tdep.c.

Referenced by amd64_linux_iterate_over_regset_sections(), amd64fbsd_iterate_over_regset_sections(), i386_iterate_over_regset_sections(), i386_linux_iterate_over_regset_sections(), i386fbsd_iterate_over_regset_sections(), and i386nto_supply_gregset().

## ◆ i386_k_names

const char* i386_k_names[]
| static

Initial value:
=
{
"k0", "k1", "k2", "k3",
"k4", "k5", "k6", "k7"
}

Definition at line 96 of file i386-tdep.c.

Referenced by i386_validate_tdesc_p().

## ◆ i386_mmx_names

const char* i386_mmx_names[]
| static

Initial value:
=
{
"mm0", "mm1", "mm2", "mm3",
"mm4", "mm5", "mm6", "mm7"
}

Definition at line 133 of file i386-tdep.c.

Referenced by i386_pseudo_register_name().

## ◆ i386_mmx_reggroup

struct reggroup* i386_mmx_reggroup
| static

Definition at line 4491 of file i386-tdep.c.

Referenced by i386_add_reggroups(), i386_init_reggroups(), and i386_register_reggroup_p().

## ◆ i386_mpx_names

const char* i386_mpx_names[]
| static

Initial value:
=
{
"bnd0raw", "bnd1raw", "bnd2raw", "bnd3raw", "bndcfgu", "bndstatus"
}

Definition at line 114 of file i386-tdep.c.

Referenced by i386_validate_tdesc_p().

## ◆ i386_pkeys_names

const char* i386_pkeys_names[]
| static

Initial value:
=
{
"pkru"
}

Definition at line 119 of file i386-tdep.c.

Referenced by i386_validate_tdesc_p().

## ◆ i386_record_regmap

const int i386_record_regmap[]
| static

Initial value:
=
{
I386_EAX_REGNUM, I386_ECX_REGNUM, I386_EDX_REGNUM, I386_EBX_REGNUM,
I386_ESP_REGNUM, I386_EBP_REGNUM, I386_ESI_REGNUM, I386_EDI_REGNUM,
0, 0, 0, 0, 0, 0, 0, 0,
I386_EIP_REGNUM, I386_EFLAGS_REGNUM, I386_CS_REGNUM, I386_SS_REGNUM,
I386_DS_REGNUM, I386_ES_REGNUM, I386_FS_REGNUM, I386_GS_REGNUM
}
I386_DS_REGNUM
Definition: i386-tdep.h:283
I386_EFLAGS_REGNUM
Definition: i386-tdep.h:280
I386_SS_REGNUM
Definition: i386-tdep.h:282
I386_EBX_REGNUM
Definition: i386-tdep.h:274
I386_CS_REGNUM
Definition: i386-tdep.h:281
I386_GS_REGNUM
Definition: i386-tdep.h:286
I386_EIP_REGNUM
Definition: i386-tdep.h:279
I386_ESP_REGNUM
Definition: i386-tdep.h:275
I386_ESI_REGNUM
Definition: i386-tdep.h:277
I386_FS_REGNUM
Definition: i386-tdep.h:285
I386_ECX_REGNUM
Definition: i386-tdep.h:272
I386_EDI_REGNUM
Definition: i386-tdep.h:278
I386_ES_REGNUM
Definition: i386-tdep.h:284
I386_EDX_REGNUM
Definition: i386-tdep.h:273
I386_EAX_REGNUM
Definition: i386-tdep.h:271
I386_EBP_REGNUM
Definition: i386-tdep.h:276

Definition at line 8105 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_register_names

const char* i386_register_names[]
| static

Initial value:
=
{
"eax", "ecx", "edx", "ebx",
"esp", "ebp", "esi", "edi",
"eip", "eflags", "cs", "ss",
"ds", "es", "fs", "gs",
"st0", "st1", "st2", "st3",
"st4", "st5", "st6", "st7",
"fctrl", "fstat", "ftag", "fiseg",
"fioff", "foseg", "fooff", "fop",
"xmm0", "xmm1", "xmm2", "xmm3",
"xmm4", "xmm5", "xmm6", "xmm7",
"mxcsr"
}

Definition at line 69 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_sigtramp_frame_unwind

const struct frame_unwind i386_sigtramp_frame_unwind
| static

Initial value:
=
{
SIGTRAMP_FRAME,
i386_sigtramp_frame_unwind_stop_reason,
i386_sigtramp_frame_this_id,
i386_sigtramp_frame_prev_register,
NULL,
i386_sigtramp_frame_sniffer
}
SIGTRAMP_FRAME
Definition: frame.h:255
i386_sigtramp_frame_this_id
static void i386_sigtramp_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: i386-tdep.c:2489
i386_sigtramp_frame_sniffer
static int i386_sigtramp_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_prologue_cache)
Definition: i386-tdep.c:2515
i386_sigtramp_frame_unwind_stop_reason
static enum unwind_stop_reason i386_sigtramp_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: i386-tdep.c:2476
i386_sigtramp_frame_prev_register
static struct value * i386_sigtramp_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: i386-tdep.c:2505

Definition at line 2544 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_sse_reggroup

struct reggroup* i386_sse_reggroup
| static

Definition at line 4490 of file i386-tdep.c.

Referenced by i386_add_reggroups(), i386_init_reggroups(), and i386_register_reggroup_p().

## ◆ i386_stack_tramp_frame_unwind

const struct frame_unwind i386_stack_tramp_frame_unwind
| static

Initial value:
=
{
NORMAL_FRAME,
i386_epilogue_frame_unwind_stop_reason,
i386_epilogue_frame_this_id,
i386_epilogue_frame_prev_register,
NULL,
i386_stack_tramp_frame_sniffer
}
NORMAL_FRAME
Definition: frame.h:244
i386_stack_tramp_frame_sniffer
static int i386_stack_tramp_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
Definition: i386-tdep.c:2386
i386_epilogue_frame_this_id
static void i386_epilogue_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: i386-tdep.c:2292
i386_epilogue_frame_prev_register
static struct value * i386_epilogue_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: i386-tdep.c:2306
i386_epilogue_frame_unwind_stop_reason
static enum unwind_stop_reason i386_epilogue_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: i386-tdep.c:2279

Definition at line 2396 of file i386-tdep.c.

Referenced by i386_gdbarch_init().

## ◆ i386_tramp_chain_in_reg_insns

struct i386_insn i386_tramp_chain_in_reg_insns[]

Initial value:
=
{
{ 5, { 0xb8 }, { 0xfe } },
{ 5, { 0xe9 }, { 0xff } },
{0}
}

Definition at line 2335 of file i386-tdep.c.

Referenced by i386_in_stack_tramp_p().

## ◆ i386_tramp_chain_on_stack_insns

struct i386_insn i386_tramp_chain_on_stack_insns[]

Initial value:
=
{
{ 5, { 0x68 }, { 0xff } },
{ 5, { 0xe9 }, { 0xff } },
{0}
}

Definition at line 2348 of file i386-tdep.c.

Referenced by i386_in_stack_tramp_p().

## ◆ i386_word_names

const char* i386_word_names[]
| static

Initial value:
=
{
"ax", "cx", "dx", "bx",
"", "bp", "si", "di"
}

Definition at line 149 of file i386-tdep.c.

Referenced by i386_pseudo_register_name().

## ◆ i386_ymm_names

const char* i386_ymm_names[]
| static

Initial value:
=
{
"ymm0", "ymm1", "ymm2", "ymm3",
"ymm4", "ymm5", "ymm6", "ymm7",
}

Definition at line 102 of file i386-tdep.c.

Referenced by i386_pseudo_register_name().

## ◆ i386_ymmh_names

const char* i386_ymmh_names[]
| static

Initial value:
=
{
"ymm0h", "ymm1h", "ymm2h", "ymm3h",
"ymm4h", "ymm5h", "ymm6h", "ymm7h",
}

Definition at line 108 of file i386-tdep.c.

Referenced by i386_validate_tdesc_p().

## ◆ i386_zmm_names

const char* i386_zmm_names[]
| static

Initial value:
=
{
"zmm0", "zmm1", "zmm2", "zmm3",
"zmm4", "zmm5", "zmm6", "zmm7"
}

Definition at line 84 of file i386-tdep.c.

Referenced by i386_pseudo_register_name().

## ◆ i386_zmmh_names

const char* i386_zmmh_names[]
| static

Initial value:
=
{
"zmm0h", "zmm1h", "zmm2h", "zmm3h",
"zmm4h", "zmm5h", "zmm6h", "zmm7h"
}

Definition at line 90 of file i386-tdep.c.

Referenced by i386_validate_tdesc_p().

## ◆ intel_flavor

const char intel_flavor[] = "intel"
| static

Definition at line 586 of file i386-tdep.c.

Referenced by i386_print_insn().

## ◆ mpx_set_cmdlist

struct cmd_list_element* mpx_set_cmdlist
| static

Definition at line 8969 of file i386-tdep.c.

Referenced by _initialize_i386_tdep(), and set_mpx_cmd().

## ◆ mpx_show_cmdlist

struct cmd_list_element * mpx_show_cmdlist
| static

Definition at line 8969 of file i386-tdep.c.

Referenced by _initialize_i386_tdep(), and show_mpx_cmd().

## ◆ num_lower_zmm_regs

const int num_lower_zmm_regs = 16

Definition at line 159 of file i386-tdep.c.

Referenced by i386_ax_pseudo_register_collect(), i386_pseudo_register_read_into_value(), and i386_pseudo_register_write().

## ◆ pcc_struct_convention

const char pcc_struct_convention[] = "pcc"
| static

Definition at line 2899 of file i386-tdep.c.

Referenced by i386_reg_struct_return_p().

## ◆ reg_struct_convention

const char reg_struct_convention[] = "reg"
| static

Definition at line 2900 of file i386-tdep.c.

## ◆ struct_convention

const char* struct_convention = default_struct_convention
| static

Definition at line 2908 of file i386-tdep.c.

Referenced by _initialize_i386_tdep(), and i386_reg_struct_return_p().

## ◆ valid_conventions

const char* const valid_conventions[]
| static

Initial value:
=
{
default_struct_convention,
pcc_struct_convention,
reg_struct_convention,
NULL
}
default_struct_convention
static const char default_struct_convention[]
Definition: i386-tdep.c:2898
pcc_struct_convention
static const char pcc_struct_convention[]
Definition: i386-tdep.c:2899
reg_struct_convention
static const char reg_struct_convention[]
Definition: i386-tdep.c:2900

Definition at line 2901 of file i386-tdep.c.

Referenced by _initialize_i386_tdep().

## ◆ valid_flavors

const char* const valid_flavors[]
| static

Initial value:
=
{
att_flavor,
intel_flavor,
NULL
}
att_flavor
static const char att_flavor[]
Definition: i386-tdep.c:585
intel_flavor
static const char intel_flavor[]
Definition: i386-tdep.c:586

Definition at line 587 of file i386-tdep.c.

Referenced by _initialize_i386_tdep().