GDB (xrefs)
|
#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 "gdbsupport/x86-xstate.h"
#include "x86-tdep.h"
#include "expop.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>
#include <unordered_set>
#include "producer.h"
#include "infcall.h"
#include "maint.h"
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) |
displaced_step_copy_insn_closure_up | 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_copy_insn_closure *closure_, CORE_ADDR from, CORE_ADDR to, struct regcache *regs, bool completed_p) |
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_endbr (CORE_ADDR pc) |
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, frame_info_ptr next_frame) |
static void | i386_frame_cache_1 (frame_info_ptr this_frame, struct i386_frame_cache *cache) |
static struct i386_frame_cache * | i386_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static void | i386_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static enum unwind_stop_reason | i386_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) |
static struct value * | i386_frame_prev_register (frame_info_ptr 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_1 (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache, bool override_p) |
static int | i386_epilogue_override_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache) |
static int | i386_epilogue_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache) |
static struct i386_frame_cache * | i386_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static enum unwind_stop_reason | i386_epilogue_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) |
static void | i386_epilogue_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | i386_epilogue_frame_prev_register (frame_info_ptr 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, frame_info_ptr 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 (frame_info_ptr this_frame, void **this_cache) |
static enum unwind_stop_reason | i386_sigtramp_frame_unwind_stop_reason (frame_info_ptr this_frame, void **this_cache) |
static void | i386_sigtramp_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | i386_sigtramp_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static int | i386_sigtramp_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache) |
static CORE_ADDR | i386_frame_base_address (frame_info_ptr this_frame, void **this_cache) |
static struct frame_id | i386_dummy_id (struct gdbarch *gdbarch, frame_info_ptr this_frame) |
static CORE_ADDR | i386_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) |
static int | i386_get_longjmp_target (frame_info_ptr 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) |
CORE_ADDR | i386_thiscall_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, function_call_return_method return_method, CORE_ADDR struct_addr, bool thiscall) |
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, function_call_return_method return_method, 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, struct value **read_value, 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 (readable_regcache *regcache, int regnum) |
void | i386_pseudo_register_read_into_value (struct gdbarch *gdbarch, readable_regcache *regcache, int regnum, struct value *result_value) |
static struct value * | i386_pseudo_register_read_value (struct gdbarch *gdbarch, readable_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 (frame_info_ptr frame, int regnum, struct type *type, gdb_byte *to, int *optimizedp, int *unavailablep) |
static void | i386_value_to_register (frame_info_ptr 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 (frame_info_ptr frame, CORE_ADDR pc, char *name) |
int | i386_sigtramp_p (frame_info_ptr this_frame) |
static int | i386_print_insn (bfd_vma pc, struct disassemble_info *info) |
static int | i386_svr4_sigtramp_p (frame_info_ptr this_frame) |
static CORE_ADDR | i386_svr4_sigcontext_addr (frame_info_ptr this_frame) |
int | i386_stap_is_single_operand (struct gdbarch *gdbarch, const char *s) |
static expr::operation_up | i386_stap_parse_special_token_triplet (struct gdbarch *gdbarch, struct stap_parse_info *p) |
static expr::operation_up | i386_stap_parse_special_token_three_arg_disp (struct gdbarch *gdbarch, struct stap_parse_info *p) |
expr::operation_up | i386_stap_parse_special_token (struct gdbarch *gdbarch, struct stap_parse_info *p) |
static std::string | i386_stap_adjust_register (struct gdbarch *gdbarch, struct stap_parse_info *p, const std::string ®name, int regnum) |
static const char * | i386_gnu_triplet_regexp (struct gdbarch *gdbarch) |
static bool | i386_in_indirect_branch_thunk (struct gdbarch *gdbarch, CORE_ADDR pc) |
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, const struct reggroup *group) |
static CORE_ADDR | i386_fetch_pointer_argument (frame_info_ptr 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, std::string *msg) |
static const struct floatformat ** | i386_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int len) |
static uint64_t | i386_xcr0_from_tdesc (const struct target_desc *tdesc) |
static int | i386_validate_tdesc_p (i386_gdbarch_tdep *tdep, struct tdesc_arch_data *tdesc_data) |
static ULONGEST | i386_type_align (struct gdbarch *gdbarch, struct type *type) |
static struct gdbarch * | i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
const struct target_desc * | i386_target_description (uint64_t xcr0, bool segments) |
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) |
void | _initialize_i386_tdep () |
Variables | |
static const char *const | i386_register_names [] |
static const char *const | i386_zmm_names [] |
static const char *const | i386_zmmh_names [] |
static const char *const | i386_k_names [] |
static const char *const | i386_ymm_names [] |
static const char *const | i386_ymmh_names [] |
static const char *const | i386_mpx_names [] |
static const char *const | i386_pkeys_names [] |
static const char *const | i386_bnd_names [] |
static const char *const | i386_mmx_names [] |
static const char *const | i386_byte_names [] |
static const char *const | 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 } |
static i386_insn | i386_frame_setup_skip_insns [] |
static const struct frame_unwind | i386_frame_unwind |
static const struct frame_unwind | i386_epilogue_override_frame_unwind |
static const struct frame_unwind | i386_epilogue_frame_unwind |
static i386_insn | i386_tramp_chain_in_reg_insns [] |
static 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 const reggroup * | i386_sse_reggroup |
static const 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 |
#define HIGH_RETURN_REGNUM I386_EDX_REGNUM /* %edx */ |
Definition at line 2899 of file i386-tdep.c.
Referenced by i386_extract_return_value(), and i386_store_return_value().
#define I386_MAX_MATCHED_INSN_LEN 6 |
Definition at line 1371 of file i386-tdep.c.
Referenced by i386_match_pattern().
#define I386_NUM_SAVED_REGS I386_NUM_GREGS |
Definition at line 1052 of file i386-tdep.c.
Referenced by i386_alloc_frame_cache(), i386_frame_cache_1(), and i386_sigtramp_frame_cache().
#define I386_RECORD_FULL_ARCH_LIST_ADD_REG | ( | regnum | ) | record_full_arch_list_add_reg (ir.regcache, ir.regmap[(regnum)]) |
Definition at line 5108 of file i386-tdep.c.
Referenced by i386_process_record().
#define I386_SAVE_FPU_ENV 0xfffe |
Definition at line 5041 of file i386-tdep.c.
Referenced by i386_process_record(), and i386_record_floats().
#define I386_SAVE_FPU_ENV_REG_STACK 0xffff |
Definition at line 5042 of file i386-tdep.c.
Referenced by i386_process_record(), and i386_record_floats().
#define I386_SAVE_FPU_REGS 0xfffd |
Definition at line 5040 of file i386-tdep.c.
Referenced by i386_process_record(), and i386_record_floats().
#define LOW_RETURN_REGNUM I386_EAX_REGNUM /* %eax */ |
Definition at line 2898 of file i386-tdep.c.
Referenced by i386_extract_return_value(), and i386_store_return_value().
#define MPX_BASE_MASK (~(ULONGEST) 0xfff) |
Definition at line 8976 of file i386-tdep.c.
Referenced by i386_mpx_bd_base().
#define MPX_BD_MASK 0xfffffff00000ULL /* select bits [47:20] */ |
Definition at line 9009 of file i386-tdep.c.
Referenced by i386_mpx_get_bt_entry().
#define MPX_BD_MASK_32 0xfffff000 /* select bits [31:12] */ |
Definition at line 9011 of file i386-tdep.c.
Referenced by i386_mpx_get_bt_entry().
#define MPX_BT_MASK 0x0000000ffff8 /* select bits [19:3] */ |
Definition at line 9010 of file i386-tdep.c.
Referenced by i386_mpx_get_bt_entry().
#define MPX_BT_MASK_32 0x00000ffc /* select bits [11:2] */ |
Definition at line 9012 of file i386-tdep.c.
Referenced by i386_mpx_get_bt_entry().
#define PREFIX_ADDR 0x10 |
Definition at line 4724 of file i386-tdep.c.
Referenced by i386_process_record().
#define PREFIX_DATA 0x08 |
Definition at line 4723 of file i386-tdep.c.
Referenced by i386_process_record().
#define PREFIX_LOCK 0x04 |
Definition at line 4722 of file i386-tdep.c.
Referenced by i386_process_record().
#define PREFIX_REPNZ 0x02 |
Definition at line 4721 of file i386-tdep.c.
Referenced by i386_process_record().
#define PREFIX_REPZ 0x01 |
Definition at line 4720 of file i386-tdep.c.
Referenced by i386_process_record().
anonymous enum |
Enumerator | |
---|---|
OT_BYTE | |
OT_WORD | |
OT_LONG | |
OT_QUAD | |
OT_DQUAD |
Definition at line 4727 of file i386-tdep.c.
anonymous enum |
Enumerator | |
---|---|
OP_ADDL | |
OP_ORL | |
OP_ADCL | |
OP_SBBL | |
OP_ANDL | |
OP_SUBL | |
OP_XORL | |
OP_CMPL |
Definition at line 4737 of file i386-tdep.c.
void _initialize_i386_tdep | ( | ) |
Definition at line 9218 of file i386-tdep.c.
Referenced by initialize_all_files().
|
static |
Definition at line 962 of file i386-tdep.c.
References target_write_memory().
Referenced by i386_relocate_instruction().
typedef BP_MANIPULATION | ( | i386_break_insn | ) |
Definition at line 615 of file i386-tdep.c.
|
static |
Definition at line 2686 of file i386-tdep.c.
References check_typedef(), type::code(), type::field(), i386_16_byte_align_p(), field::is_static(), type::is_vector(), type::length(), type::num_fields(), type::target_type(), and field::type().
Referenced by i386_16_byte_align_p(), and i386_thiscall_push_dummy_call().
|
static |
Definition at line 694 of file i386-tdep.c.
Referenced by i386_call_p(), and i386_displaced_step_fixup().
|
static |
Definition at line 657 of file i386-tdep.c.
Referenced by i386_displaced_step_fixup(), and i386_jmp_p().
|
static |
Definition at line 4597 of file i386-tdep.c.
References i386_mmx_reggroup, i386_sse_reggroup, and reggroup_add().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 1075 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().
|
static |
Definition at line 1597 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().
|
static |
Definition at line 1813 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_endbr(), i386_skip_noop(), and i386_skip_probe().
Referenced by i386_frame_cache_1(), and i386_skip_prologue().
|
static |
Definition at line 1760 of file i386-tdep.c.
References i386_frame_cache::locals, i386_frame_cache::saved_regs, i386_frame_cache::sp_offset, and target_read_code().
Referenced by i386_analyze_prologue().
|
static |
Definition at line 1260 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, i386_frame_cache::pc, i386_frame_cache::saved_sp_reg, and target_read_code().
Referenced by i386_analyze_prologue().
|
static |
Definition at line 1161 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().
int i386_ax_pseudo_register_collect | ( | struct gdbarch * | gdbarch, |
struct agent_expr * | ax, | ||
int | regnum ) |
Definition at line 3737 of file i386-tdep.c.
References i386_gdbarch_tdep::al_regnum, ax_reg_mask(), i386_gdbarch_tdep::ax_regnum, i386_gdbarch_tdep::bnd0_regnum, 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, i386_gdbarch_tdep::k0_regnum, num_lower_zmm_regs, regnum, i386_gdbarch_tdep::ymm0_regnum, i386_gdbarch_tdep::ymm0h_regnum, i386_gdbarch_tdep::ymm16_regnum, i386_gdbarch_tdep::ymm16h_regnum, i386_gdbarch_tdep::zmm0_regnum, and i386_gdbarch_tdep::zmm0h_regnum.
Referenced by amd64_ax_pseudo_register_collect(), and i386_gdbarch_init().
int i386_bnd_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 317 of file i386-tdep.c.
References i386_gdbarch_tdep::bnd0_regnum, 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().
Definition at line 3170 of file i386-tdep.c.
References append_composite_type_field(), arch_composite_type(), builtin_type(), i386_gdbarch_tdep::i386_bnd_type, and type::set_name().
Referenced by i386_pseudo_register_type().
|
static |
Definition at line 399 of file i386-tdep.c.
References i386_gdbarch_tdep::bnd0r_regnum, I387_BND0R_REGNUM, I387_NUM_BND_REGS, and regnum.
Referenced by i386_register_reggroup_p().
int i386_byte_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 185 of file i386-tdep.c.
References i386_gdbarch_tdep::al_regnum, i386_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().
|
static |
Definition at line 732 of file i386-tdep.c.
References i386_absolute_call_p().
Referenced by i386_displaced_step_fixup(), and i386_insn_is_call().
|
static |
Definition at line 4023 of file i386-tdep.c.
References reg_buffer::arch(), i387_collect_fsave(), i387_collect_fxsave(), I387_SIZEOF_FXSAVE, regnum, and i386_gdbarch_tdep::sizeof_fpregset.
|
static |
Definition at line 3977 of file i386-tdep.c.
References reg_buffer::arch(), i386_gdbarch_tdep::gregset_num_regs, i386_gdbarch_tdep::gregset_reg_offset, reg_buffer::raw_collect(), regnum, and i386_gdbarch_tdep::sizeof_gregset.
|
static |
Definition at line 3850 of file i386-tdep.c.
References i386_next_regnum(), i387_convert_register_p(), type::length(), and regnum.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 486 of file i386-tdep.c.
References gdbarch_num_cooked_regs(), i386_xmm_regnum_p(), I387_MM0_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, and i386_gdbarch_tdep::ymm0_regnum.
Referenced by i386_gdbarch_init(), and i386_svr4_dwarf_reg_to_regnum().
displaced_step_copy_insn_closure_up i386_displaced_step_copy_insn | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | from, | ||
CORE_ADDR | to, | ||
struct regcache * | regs ) |
Definition at line 806 of file i386-tdep.c.
References displaced_debug_printf, gdbarch_max_insn_length(), i386_syscall_p(), paddress(), read_memory(), and write_memory().
Referenced by i386_linux_displaced_step_copy_insn().
void i386_displaced_step_fixup | ( | struct gdbarch * | gdbarch, |
struct displaced_step_copy_insn_closure * | closure_, | ||
CORE_ADDR | from, | ||
CORE_ADDR | to, | ||
struct regcache * | regs, | ||
bool | completed_p ) |
Definition at line 843 of file i386-tdep.c.
References buf_displaced_step_copy_insn_closure::buf, displaced_debug_printf, gdbarch_byte_order(), gdbarch_max_insn_length(), i386_absolute_call_p(), i386_absolute_jmp_p(), i386_call_p(), I386_ESP_REGNUM, i386_ret_p(), i386_syscall_p(), paddress(), read_memory_unsigned_integer(), regcache_cooked_read_unsigned(), regcache_read_pc(), regcache_write_pc(), and write_memory_unsigned_integer().
Referenced by i386_linux_init_abi().
|
static |
Definition at line 2625 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().
int i386_dword_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 207 of file i386-tdep.c.
References i386_gdbarch_tdep::eax_regnum, i386_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().
void i386_elf_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch ) |
Definition at line 4530 of file i386-tdep.c.
References i386_in_indirect_branch_thunk(), i386_stap_adjust_register(), i386_stap_is_single_operand(), i386_stap_parse_special_token(), i386_svr4_reg_to_regnum(), set_gdbarch_in_indirect_branch_thunk(), set_gdbarch_stab_reg_to_regnum(), set_gdbarch_stap_adjust_register(), 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(), set_gdbarch_stap_register_prefixes(), stap_register_indirection_prefixes, and stap_register_indirection_suffixes.
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().
|
static |
Definition at line 2283 of file i386-tdep.c.
References i386_frame_cache::base, i386_frame_cache::base_p, get_frame_func(), get_frame_register_unsigned(), i386_alloc_frame_cache(), I386_EIP_REGNUM, I386_ESP_REGNUM, i386_frame_cache::pc, i386_frame_cache::saved_regs, i386_frame_cache::saved_sp, and i386_frame_cache::sp_offset.
Referenced by i386_epilogue_frame_prev_register(), i386_epilogue_frame_this_id(), and i386_epilogue_frame_unwind_stop_reason().
|
static |
Definition at line 2345 of file i386-tdep.c.
References i386_epilogue_frame_cache(), i386_frame_prev_register(), and regnum.
|
static |
Definition at line 2274 of file i386-tdep.c.
References i386_epilogue_frame_sniffer_1().
|
static |
Definition at line 2232 of file i386-tdep.c.
References compunit_epilogue_unwind_valid(), find_pc_compunit_symtab(), frame_relative_level(), get_frame_arch(), get_frame_pc(), and i386_stack_frame_destroyed_p().
Referenced by i386_epilogue_frame_sniffer(), and i386_epilogue_override_frame_sniffer().
|
static |
Definition at line 2331 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.
|
static |
Definition at line 2318 of file i386-tdep.c.
References i386_frame_cache::base_p, and i386_epilogue_frame_cache().
|
static |
Definition at line 2265 of file i386-tdep.c.
References i386_epilogue_frame_sniffer_1().
|
static |
Definition at line 2905 of file i386-tdep.c.
References type::code(), HIGH_RETURN_REGNUM, I386_MAX_REGISTER_SIZE, I386_ST0_REGNUM, i387_ext_type(), I387_XMM0_REGNUM, type::length(), LOW_RETURN_REGNUM, readable_regcache::raw_read(), register_size(), i386_gdbarch_tdep::st0_regnum, and target_float_convert().
Referenced by i386_return_value().
|
static |
Definition at line 8225 of file i386-tdep.c.
References i386_record_s::addr, gdb_insn_length(), register_size(), and target_get_min_fast_tracepoint_insn_len().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 4711 of file i386-tdep.c.
References gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), I386_ESP_REGNUM, and read_memory_unsigned_integer().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 8277 of file i386-tdep.c.
References default_floatformat_for_type(), floatformats_ieee_quad, and name.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 1106 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().
int i386_fp_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 373 of file i386-tdep.c.
References 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().
int i386_fpc_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 385 of file i386-tdep.c.
References 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().
|
static |
Definition at line 2639 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 2609 of file i386-tdep.c.
References i386_frame_cache::base, and i386_frame_cache().
|
static |
Definition at line 2081 of file i386-tdep.c.
References i386_alloc_frame_cache(), and i386_frame_cache_1().
Referenced by i386_frame_base_address(), i386_frame_prev_register(), i386_frame_this_id(), and i386_frame_unwind_stop_reason().
|
static |
Definition at line 1980 of file i386-tdep.c.
References i386_frame_cache::base, i386_frame_cache::base_p, 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().
|
static |
Definition at line 2140 of file i386-tdep.c.
References frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), 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().
|
static |
Definition at line 2105 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.
|
static |
Definition at line 2124 of file i386-tdep.c.
References i386_frame_cache::base, i386_frame_cache::base_p, and i386_frame_cache().
|
static |
Definition at line 8565 of file i386-tdep.c.
References i386_gdbarch_tdep::al_regnum, arches, i386_gdbarch_tdep::ax_regnum, i386_gdbarch_tdep::bnd0_regnum, i386_gdbarch_tdep::bnd0r_regnum, i386_gdbarch_tdep::bndcfgu_regnum, core_addr_lessthan(), dwarf2_append_unwinders(), i386_gdbarch_tdep::eax_regnum, floatformats_bfloat16, floatformats_i387_ext, i386_gdbarch_tdep::fpregset, frame_base_set_default(), frame_unwind_append_unwinder(), i386_gdbarch_tdep::fsbase_regnum, gdbarch_alloc(), gdbarch_free(), gdbarch_init_osabi(), gdbarch_iterate_over_regset_sections_p(), gdbarch_list_lookup_by_info(), gdbarch_num_regs(), registry< T >::get(), i386_gdbarch_tdep::gregset_num_regs, i386_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_epilogue_override_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_REGS, I386_NUM_XREGS, 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_type_align(), i386_unwind_pc(), i386_validate_tdesc_p(), i386_value_to_register(), i386_xcr0_from_tdesc(), i387_fallback_xsave_layout(), I387_NUM_BND_REGS, I387_NUM_REGS, i387_print_float_info(), I387_SIZEOF_FSAVE, i386_gdbarch_tdep::jb_pc_offset, i386_gdbarch_tdep::k0_regnum, i386_gdbarch_tdep::mm0_regnum, i386_gdbarch_tdep::num_byte_regs, i386_gdbarch_tdep::num_core_regs, i386_gdbarch_tdep::num_dword_regs, i386_gdbarch_tdep::num_mmx_regs, i386_gdbarch_tdep::num_pkeys_regs, i386_gdbarch_tdep::num_word_regs, i386_gdbarch_tdep::num_xmm_avx512_regs, i386_gdbarch_tdep::num_xmm_regs, i386_gdbarch_tdep::num_ymm_avx512_regs, i386_gdbarch_tdep::num_ymm_regs, i386_gdbarch_tdep::num_zmm_regs, ON_STACK, pcc_struct_return, i386_gdbarch_tdep::pkru_regnum, i386_gdbarch_tdep::record_regmap, i386_gdbarch_tdep::register_names, i386_gdbarch_tdep::register_reggroup_p, i386_gdbarch_tdep::sc_pc_offset, i386_gdbarch_tdep::sc_reg_offset, i386_gdbarch_tdep::sc_sp_offset, set_gdbarch_ax_pseudo_register_collect(), set_gdbarch_bfloat16_format(), 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_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_as_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_type_align(), set_gdbarch_unwind_pc(), set_gdbarch_value_to_register(), set_tdesc_pseudo_register_name(), set_tdesc_pseudo_register_type(), i386_gdbarch_tdep::sigcontext_addr, i386_gdbarch_tdep::sigtramp_end, i386_gdbarch_tdep::sigtramp_p, i386_gdbarch_tdep::sigtramp_start, i386_gdbarch_tdep::sizeof_fpregset, i386_gdbarch_tdep::sizeof_gregset, i386_gdbarch_tdep::st0_regnum, target_fetch_x86_xsave_layout(), i386_gdbarch_tdep::tdesc, tdesc_data, tdesc_data_alloc(), tdesc_has_registers(), tdesc_use_registers(), i386_gdbarch_tdep::xmm16_regnum, i386_gdbarch_tdep::xmm_avx512_register_names, i386_gdbarch_tdep::xsave_layout, i386_gdbarch_tdep::xsave_xcr0_offset, i386_gdbarch_tdep::ymm0_regnum, i386_gdbarch_tdep::ymm0h_regnum, i386_gdbarch_tdep::ymm16_regnum, i386_gdbarch_tdep::ymm16h_register_names, i386_gdbarch_tdep::ymm16h_regnum, i386_gdbarch_tdep::ymmh_register_names, i386_gdbarch_tdep::zmm0_regnum, i386_gdbarch_tdep::zmm0h_regnum, and i386_gdbarch_tdep::zmmh_register_names.
|
static |
Definition at line 2461 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().
|
static |
Definition at line 2652 of file i386-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_register(), I386_ESP_REGNUM, i386_gdbarch_tdep::jb_pc_offset, and target_read_memory().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 4511 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 4521 of file i386-tdep.c.
References I386_EAX_REGNUM, I386_EIP_REGNUM, i386_register_names, and x86_in_indirect_branch_thunk().
Referenced by i386_elf_init_abi().
|
static |
Definition at line 2413 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, name, and target_read_memory().
Referenced by i386_stack_tramp_frame_sniffer().
|
static |
Definition at line 4590 of file i386-tdep.c.
References i386_mmx_reggroup, i386_sse_reggroup, reggroup_new(), and USER_REGGROUP.
|
static |
Definition at line 767 of file i386-tdep.c.
References i386_call_p(), I386_MAX_INSN_LEN, and read_code().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 793 of file i386-tdep.c.
References i386_jmp_p(), I386_MAX_INSN_LEN, and read_code().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 780 of file i386-tdep.c.
References I386_MAX_INSN_LEN, i386_ret_p(), and read_code().
Referenced by i386_gdbarch_init().
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 4055 of file i386-tdep.c.
References i386_gdbarch_tdep::fpregset, i386_gregset, i386_gdbarch_tdep::sizeof_fpregset, and i386_gdbarch_tdep::sizeof_gregset.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 680 of file i386-tdep.c.
References i386_absolute_jmp_p().
Referenced by i386_insn_is_jump().
int i386_k_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 248 of file i386-tdep.c.
References I387_NUM_K_REGS, i386_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().
Definition at line 1418 of file i386-tdep.c.
References i386_match_pattern(), and i386_insn::len.
Referenced by i386_analyze_frame_setup(), and i386_match_insn_block().
|
static |
Definition at line 1435 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().
|
static |
Definition at line 1384 of file i386-tdep.c.
References 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().
|
static |
Definition at line 170 of file i386-tdep.c.
References i386_gdbarch_tdep::mm0_regnum, i386_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().
|
static |
Definition at line 3398 of file i386-tdep.c.
References reg_buffer::arch(), I387_FSTAT_REGNUM, I387_ST0_REGNUM, i386_gdbarch_tdep::mm0_regnum, readable_regcache::raw_read(), and regnum.
Referenced by i386_pseudo_register_read_into_value(), and i386_pseudo_register_write().
Definition at line 3322 of file i386-tdep.c.
References append_composite_type_field(), arch_composite_type(), builtin_type(), i386_gdbarch_tdep::i386_mmx_type, init_vector_type(), type::set_is_vector(), and type::set_name().
Referenced by i386_pseudo_register_type().
|
static |
Definition at line 8981 of file i386-tdep.c.
References reg_buffer::arch(), i386_gdbarch_tdep::bndcfgu_regnum, get_current_regcache(), MPX_BASE_MASK, and regcache_raw_read_unsigned().
Referenced by i386_mpx_info_bounds(), and i386_mpx_set_bounds().
|
static |
Definition at line 413 of file i386-tdep.c.
References I387_BNDCFGU_REGNUM, I387_NUM_MPX_CTRL_REGS, and regnum.
Referenced by i386_register_reggroup_p().
int i386_mpx_enabled | ( | void | ) |
Definition at line 9000 of file i386-tdep.c.
References reg_buffer::arch(), get_current_arch(), i386_gdbarch_tdep::tdesc, and tdesc_find_feature().
Referenced by i386_linux_report_signal_info(), i386_mpx_info_bounds(), and i386_mpx_set_bounds().
|
static |
Definition at line 9018 of file i386-tdep.c.
References builtin_type::builtin_data_ptr, builtin_type(), 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().
|
static |
Definition at line 9122 of file i386-tdep.c.
References type::arch(), builtin_type::builtin_data_ptr, builtin_type(), gdb_printf(), gdbarch_bfd_arch_info(), get_current_arch(), i386_mpx_bd_base(), i386_mpx_enabled(), i386_mpx_get_bt_entry(), i386_mpx_print_bounds(), type::length(), parse_and_eval_address(), and read_memory_typed_address().
|
static |
Definition at line 9073 of file i386-tdep.c.
References current_uiout, ui_out::field_core_addr(), ui_out::field_string(), gdbarch_ptr_bit(), get_current_arch(), size, and ui_out::text().
Referenced by i386_mpx_info_bounds().
|
static |
Definition at line 9164 of file i386-tdep.c.
References type::arch(), builtin_type::builtin_data_ptr, builtin_type(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), get_current_arch(), i386_mpx_bd_base(), i386_mpx_enabled(), i386_mpx_get_bt_entry(), type::length(), parse_to_comma_and_eval(), read_memory_typed_address(), value_as_address(), and write_memory_unsigned_integer().
|
static |
Definition at line 360 of file i386-tdep.c.
References I387_MXCSR_REGNUM, I387_NUM_XMM_REGS, and regnum.
Referenced by i386_process_record(), and i386_register_reggroup_p().
|
static |
Definition at line 3821 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().
CORE_ADDR i386_pe_skip_trampoline_code | ( | frame_info_ptr | frame, |
CORE_ADDR | pc, | ||
char * | name ) |
Definition at line 4073 of file i386-tdep.c.
References gdbarch_byte_order(), get_frame_arch(), general_symbol_info::linkage_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, name, and read_memory_unsigned_integer().
Referenced by i386_windows_skip_trampoline_code().
bool i386_pkru_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 427 of file i386-tdep.c.
References I387_NUM_PKEYS_REGS, i386_gdbarch_tdep::pkru_regnum, and regnum.
Referenced by i386_register_reggroup_p().
|
static |
Definition at line 4118 of file i386-tdep.c.
References att_flavor, default_print_insn(), disassembly_flavor, and intel_flavor.
Referenced by i386_gdbarch_init().
int i386_process_record | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
CORE_ADDR | input_addr ) |
Definition at line 5112 of file i386-tdep.c.
References i386_record_s::addr, i386_record_s::aflag, i386_record_s::dflag, extract_unsigned_integer(), gdb_printf(), gdb_stderr, gdb_stdlog, i386_record_s::gdbarch, gdbarch_byte_order(), I386_EAX_REGNUM, i386_fp_regnum_p(), i386_fpc_regnum_p(), 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, i386_xmm_regnum_p(), I387_FCTRL_REGNUM, I387_FTAG_REGNUM, I387_MM0_REGNUM, I387_MXCSR_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, 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, 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(), 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().
const char * i386_pseudo_register_name | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 463 of file i386-tdep.c.
References i386_gdbarch_tdep::al_regnum, i386_gdbarch_tdep::ax_regnum, i386_gdbarch_tdep::bnd0_regnum, 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, regnum, i386_gdbarch_tdep::ymm0_regnum, and i386_gdbarch_tdep::zmm0_regnum.
Referenced by amd64_pseudo_register_name(), and i386_gdbarch_init().
void i386_pseudo_register_read_into_value | ( | struct gdbarch * | gdbarch, |
readable_regcache * | regcache, | ||
int | regnum, | ||
struct value * | result_value ) |
Definition at line 3419 of file i386-tdep.c.
References i386_gdbarch_tdep::al_regnum, i386_gdbarch_tdep::ax_regnum, i386_gdbarch_tdep::bnd0_regnum, builtin_type::builtin_data_ptr, builtin_type(), value::contents_raw(), extract_unsigned_integer(), gdbarch_byte_order(), 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, i386_gdbarch_tdep::k0_regnum, type::length(), value::mark_bytes_unavailable(), num_lower_zmm_regs, readable_regcache::raw_read(), register_size(), regnum, size, status, target_gdbarch(), value::type(), i386_gdbarch_tdep::ymm0_regnum, i386_gdbarch_tdep::ymm0h_regnum, i386_gdbarch_tdep::ymm16_regnum, i386_gdbarch_tdep::ymm16h_regnum, i386_gdbarch_tdep::zmm0_regnum, and i386_gdbarch_tdep::zmm0h_regnum.
Referenced by amd64_pseudo_register_read_value(), and i386_pseudo_register_read_value().
|
static |
Definition at line 3598 of file i386-tdep.c.
References value::allocate(), i386_pseudo_register_read_into_value(), lval_register, register_type(), regnum, value::set_lval(), and VALUE_REGNUM.
Referenced by i386_gdbarch_init().
Definition at line 3366 of file i386-tdep.c.
References 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(), and regnum.
Referenced by amd64_x32_pseudo_register_type(), and i386_gdbarch_init().
void i386_pseudo_register_write | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
int | regnum, | ||
const gdb_byte * | buf ) |
Definition at line 3614 of file i386-tdep.c.
References i386_gdbarch_tdep::al_regnum, i386_gdbarch_tdep::ax_regnum, i386_gdbarch_tdep::bnd0_regnum, builtin_type::builtin_data_ptr, builtin_type(), extract_unsigned_integer(), gdbarch_byte_order(), 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, i386_gdbarch_tdep::k0_regnum, type::length(), num_lower_zmm_regs, readable_regcache::raw_read(), regcache::raw_write(), register_size(), regnum, size, target_gdbarch(), i386_gdbarch_tdep::ymm0_regnum, i386_gdbarch_tdep::ymm0h_regnum, i386_gdbarch_tdep::ymm16_regnum, i386_gdbarch_tdep::ymm16h_regnum, i386_gdbarch_tdep::zmm0_regnum, and i386_gdbarch_tdep::zmm0h_regnum.
Referenced by amd64_pseudo_register_write(), and i386_gdbarch_init().
|
static |
Definition at line 2884 of file i386-tdep.c.
References i386_thiscall_push_dummy_call().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 2713 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 5048 of file i386-tdep.c.
References 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().
|
static |
Definition at line 4989 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().
|
static |
Definition at line 4791 of file i386-tdep.c.
References i386_record_s::addr, i386_record_s::aflag, 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().
|
static |
Definition at line 4772 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().
|
static |
Definition at line 5022 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().
Definition at line 3041 of file i386-tdep.c.
References check_typedef(), code, type::code(), default_struct_convention, type::field(), type::length(), type::num_fields(), pcc_struct_convention, pcc_struct_return, struct_convention, field::type(), and TYPE_HAS_DYNAMIC_LENGTH.
Referenced by i386_return_value().
|
static |
Definition at line 443 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().
int i386_register_reggroup_p | ( | struct gdbarch * | gdbarch, |
int | regnum, | ||
const struct reggroup * | group ) |
Definition at line 4604 of file i386-tdep.c.
References all_reggroup, default_register_reggroup_p(), float_reggroup, 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, and i386_gdbarch_tdep::xcr0.
Referenced by amd64_linux_register_reggroup_p(), i386_gdbarch_init(), and i386_linux_register_reggroup_p().
|
static |
Definition at line 3881 of file i386-tdep.c.
References get_frame_arch(), get_frame_register_bytes(), i386_fp_regnum_p(), i386_next_regnum(), i387_register_to_value(), type::length(), register_size(), and regnum.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 969 of file i386-tdep.c.
References append_insns(), displaced_debug_printf, extract_signed_integer(), gdb_buffered_insn_length(), gdbarch_byte_order(), I386_MAX_INSN_LEN, paddress(), read_memory(), store_signed_integer(), and store_unsigned_integer().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 715 of file i386-tdep.c.
Referenced by i386_displaced_step_fixup(), and i386_insn_is_ret().
|
static |
Definition at line 3076 of file i386-tdep.c.
References value::allocate(), check_typedef(), code, type::code(), type::field(), I386_EAX_REGNUM, i386_extract_return_value(), i386_reg_struct_return_p(), i386_return_value(), i386_store_return_value(), type::length(), type::num_fields(), regcache_raw_read_unsigned(), RETURN_VALUE_ABI_RETURNS_ADDRESS, RETURN_VALUE_REGISTER_CONVENTION, field::type(), and value_at_non_lval().
Referenced by i386_gdbarch_init(), and i386_return_value().
|
static |
Definition at line 2478 of file i386-tdep.c.
References i386_frame_cache::base, i386_frame_cache::base_p, extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_register(), i386_alloc_frame_cache(), I386_EIP_REGNUM, I386_ESP_REGNUM, I386_NUM_SAVED_REGS, i386_frame_cache::saved_regs, i386_gdbarch_tdep::sc_num_regs, i386_gdbarch_tdep::sc_pc_offset, i386_gdbarch_tdep::sc_reg_offset, i386_gdbarch_tdep::sc_sp_offset, and i386_gdbarch_tdep::sigcontext_addr.
Referenced by i386_sigtramp_frame_prev_register(), i386_sigtramp_frame_this_id(), and i386_sigtramp_frame_unwind_stop_reason().
|
static |
Definition at line 2556 of file i386-tdep.c.
References i386_frame_prev_register(), i386_sigtramp_frame_cache(), and regnum.
|
static |
Definition at line 2566 of file i386-tdep.c.
References value::arch(), get_frame_arch(), get_frame_pc(), i386_gdbarch_tdep::sigcontext_addr, i386_gdbarch_tdep::sigtramp_end, i386_gdbarch_tdep::sigtramp_p, and i386_gdbarch_tdep::sigtramp_start.
|
static |
Definition at line 2540 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().
|
static |
Definition at line 2527 of file i386-tdep.c.
References i386_frame_cache::base_p, and i386_sigtramp_frame_cache().
int i386_sigtramp_p | ( | frame_info_ptr | this_frame | ) |
Definition at line 4104 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().
|
static |
Definition at line 1524 of file i386-tdep.c.
References target_read_code().
Referenced by i386_analyze_prologue().
CORE_ADDR i386_skip_main_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc ) |
Definition at line 1934 of file i386-tdep.c.
References extract_signed_integer(), gdbarch_byte_order(), general_symbol_info::linkage_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, and target_read_code().
Referenced by i386_windows_init_abi_common().
|
static |
Definition at line 1543 of file i386-tdep.c.
References check(), and target_read_code().
Referenced by i386_analyze_prologue().
|
static |
Definition at line 1213 of file i386-tdep.c.
References i386_frame_cache::pc, read_memory(), and target_read_code().
Referenced by i386_analyze_prologue().
|
static |
Definition at line 1830 of file i386-tdep.c.
References 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, compunit_symtab::producer(), producer_is_icc_ge_19(), producer_is_llvm(), read_code_unsigned_integer(), skip_prologue_using_sal(), and target_read_code().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 2219 of file i386-tdep.c.
References target_read_memory().
Referenced by i386_epilogue_frame_sniffer_1().
|
static |
Definition at line 2437 of file i386-tdep.c.
References frame_relative_level(), get_frame_pc(), and i386_in_stack_tramp_p().
|
static |
Definition at line 4486 of file i386-tdep.c.
References stap_parse_info::arg_type, type::length(), register_size(), and regnum.
Referenced by i386_elf_init_abi().
int i386_stap_is_single_operand | ( | struct gdbarch * | gdbarch, |
const char * | s ) |
Definition at line 4174 of file i386-tdep.c.
Referenced by amd64_init_abi(), and i386_elf_init_abi().
expr::operation_up i386_stap_parse_special_token | ( | struct gdbarch * | gdbarch, |
struct stap_parse_info * | p ) |
Definition at line 4462 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().
|
static |
Definition at line 4324 of file i386-tdep.c.
References stap_parse_info::arg, stap_parse_info::arg_type, builtin_type::builtin_long, builtin_type(), lookup_pointer_type(), stap_parse_info::saved_arg, size, and user_reg_map_name_to_regnum().
Referenced by i386_stap_parse_special_token().
|
static |
Definition at line 4191 of file i386-tdep.c.
References stap_parse_info::arg, stap_parse_info::arg_type, builtin_type::builtin_data_ptr, builtin_type::builtin_long, builtin_type(), lookup_pointer_type(), stap_parse_info::saved_arg, and user_reg_map_name_to_regnum().
Referenced by i386_stap_parse_special_token().
|
static |
Definition at line 2962 of file i386-tdep.c.
References type::code(), HIGH_RETURN_REGNUM, I386_MAX_REGISTER_SIZE, I386_ST0_REGNUM, i387_ext_type(), I387_FSTAT_REGNUM, I387_FTAG_REGNUM, type::length(), LOW_RETURN_REGNUM, regcache::raw_write(), regcache::raw_write_part(), regcache_raw_read_unsigned(), regcache_raw_write_unsigned(), register_size(), i386_gdbarch_tdep::st0_regnum, and target_float_convert().
Referenced by i386_return_value().
|
static |
Definition at line 4001 of file i386-tdep.c.
References reg_buffer::arch(), I387_SIZEOF_FXSAVE, i387_supply_fsave(), i387_supply_fxsave(), regnum, and i386_gdbarch_tdep::sizeof_fpregset.
void i386_supply_gregset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | gregs, | ||
size_t | len ) |
Definition at line 3953 of file i386-tdep.c.
References reg_buffer::arch(), i386_gdbarch_tdep::gregset_num_regs, i386_gdbarch_tdep::gregset_reg_offset, reg_buffer::raw_supply(), regnum, and i386_gdbarch_tdep::sizeof_gregset.
|
static |
Definition at line 533 of file i386-tdep.c.
References 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().
void i386_svr4_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch ) |
Definition at line 4563 of file i386-tdep.c.
References find_solib_trampoline_target(), i386_elf_init_abi(), i386_svr4_sigcontext_addr(), i386_svr4_sigtramp_p(), i386_gdbarch_tdep::jb_pc_offset, i386_gdbarch_tdep::sc_pc_offset, i386_gdbarch_tdep::sc_sp_offset, set_gdbarch_skip_trampoline_code(), i386_gdbarch_tdep::sigcontext_addr, and i386_gdbarch_tdep::sigtramp_p.
Referenced by i386_sol2_init_abi().
int i386_svr4_reg_to_regnum | ( | struct gdbarch * | gdbarch, |
int | reg ) |
Definition at line 578 of file i386-tdep.c.
References gdbarch_num_cooked_regs(), i386_svr4_dwarf_reg_to_regnum(), and regnum.
Referenced by i386_elf_init_abi(), and i386_go32_init_abi().
|
static |
Definition at line 4155 of file i386-tdep.c.
References 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().
|
static |
Definition at line 4140 of file i386-tdep.c.
References find_pc_partial_function(), get_frame_pc(), and name.
Referenced by i386_svr4_init_abi().
|
static |
Definition at line 748 of file i386-tdep.c.
Referenced by i386_displaced_step_copy_insn(), and i386_displaced_step_fixup().
const struct target_desc * i386_target_description | ( | uint64_t | xcr0, |
bool | segments ) |
Definition at line 8957 of file i386-tdep.c.
References i386_create_target_description().
Referenced by i386_gdbarch_init(), i386_go32_init_abi(), i386fbsd_core_read_description(), amd64_fbsd_nat_target::read_description(), and i386_fbsd_nat_target::read_description().
CORE_ADDR i386_thiscall_push_dummy_call | ( | struct gdbarch * | gdbarch, |
struct value * | function, | ||
struct regcache * | regcache, | ||
CORE_ADDR | bp_addr, | ||
int | nargs, | ||
struct value ** | args, | ||
CORE_ADDR | sp, | ||
function_call_return_method | return_method, | ||
CORE_ADDR | struct_addr, | ||
bool | thiscall ) |
Definition at line 2730 of file i386-tdep.c.
References obj_section::addr(), regcache::cooked_write(), find_function_addr(), find_pc_section(), gdbarch_byte_order(), i386_16_byte_align_p(), I386_EBP_REGNUM, I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESP_REGNUM, i387_reset_bnd_regs(), in_plt_section(), maint_obj_section_from_bfd_section(), objfile::obfd, obj_section::objfile, return_method_struct, store_unsigned_integer(), and write_memory().
Referenced by i386_push_dummy_call(), and i386_windows_push_dummy_call().
Definition at line 8541 of file i386-tdep.c.
References check_typedef(), type::code(), gdbarch_long_double_bit(), gdbarch_ptr_bit(), and type::length().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 1968 of file i386-tdep.c.
References extract_typed_address(), frame_unwind_register(), and gdbarch_pc_regnum().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 8365 of file i386-tdep.c.
References i386_gdbarch_tdep::bnd0r_regnum, i386_gdbarch_tdep::bndcfgu_regnum, i386_gdbarch_tdep::fsbase_regnum, I386_BND0R_REGNUM, I386_BNDCFGU_REGNUM, I386_FSBASE_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, i386_gdbarch_tdep::k0_regnum, i386_gdbarch_tdep::k_register_names, i386_gdbarch_tdep::mpx_register_names, i386_gdbarch_tdep::num_core_regs, i386_gdbarch_tdep::num_pkeys_regs, i386_gdbarch_tdep::num_xmm_avx512_regs, i386_gdbarch_tdep::num_xmm_regs, i386_gdbarch_tdep::num_ymm_avx512_regs, i386_gdbarch_tdep::num_ymm_regs, i386_gdbarch_tdep::num_zmm_regs, i386_gdbarch_tdep::pkeys_register_names, i386_gdbarch_tdep::pkru_regnum, i386_gdbarch_tdep::register_names, i386_gdbarch_tdep::tdesc, tdesc_data, tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), i386_gdbarch_tdep::xcr0, i386_gdbarch_tdep::xmm16_regnum, i386_gdbarch_tdep::xmm_avx512_register_names, i386_gdbarch_tdep::ymm0h_regnum, i386_gdbarch_tdep::ymm16h_register_names, i386_gdbarch_tdep::ymm16h_regnum, i386_gdbarch_tdep::ymmh_register_names, i386_gdbarch_tdep::zmm0h_regnum, and i386_gdbarch_tdep::zmmh_register_names.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 3921 of file i386-tdep.c.
References get_frame_arch(), i386_fp_regnum_p(), i386_next_regnum(), i387_value_to_register(), type::length(), put_frame_register(), register_size(), and regnum.
Referenced by i386_gdbarch_init().
int i386_word_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 196 of file i386-tdep.c.
References i386_gdbarch_tdep::ax_regnum, i386_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().
|
static |
Definition at line 8301 of file i386-tdep.c.
References tdesc_find_feature(), and tdesc_has_registers().
Referenced by i386_gdbarch_init().
int i386_xmm_avx512_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 347 of file i386-tdep.c.
References I387_NUM_XMM_AVX512_REGS, I387_XMM16_REGNUM, and regnum.
Referenced by i386_register_reggroup_p().
int i386_xmm_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 332 of file i386-tdep.c.
References I387_NUM_XMM_REGS, I387_XMM0_REGNUM, and regnum.
Referenced by amd64_dwarf_reg_to_regnum(), i386_dbx_reg_to_regnum(), i386_process_record(), and i386_register_reggroup_p().
int i386_ymm_avx512_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 302 of file i386-tdep.c.
References i386_gdbarch_tdep::num_ymm_avx512_regs, regnum, and i386_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().
int i386_ymm_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 276 of file i386-tdep.c.
References i386_gdbarch_tdep::num_ymm_regs, regnum, and i386_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().
Definition at line 3265 of file i386-tdep.c.
References append_composite_type_field(), arch_composite_type(), builtin_type(), i386_gdbarch_tdep::i386_ymm_type, init_vector_type(), type::set_is_vector(), and type::set_name().
Referenced by i386_pseudo_register_type().
|
static |
Definition at line 289 of file i386-tdep.c.
References i386_gdbarch_tdep::num_ymm_avx512_regs, regnum, and i386_gdbarch_tdep::ymm16h_regnum.
Referenced by i386_register_name(), and i386_register_reggroup_p().
|
static |
Definition at line 261 of file i386-tdep.c.
References i386_gdbarch_tdep::num_ymm_regs, regnum, and i386_gdbarch_tdep::ymm0h_regnum.
Referenced by i386_register_name(), and i386_register_reggroup_p().
int i386_zmm_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 235 of file i386-tdep.c.
References i386_gdbarch_tdep::num_zmm_regs, regnum, and i386_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().
Definition at line 3206 of file i386-tdep.c.
References append_composite_type_field(), arch_composite_type(), builtin_type(), i386_gdbarch_tdep::i386_zmm_type, init_vector_type(), type::set_is_vector(), and type::set_name().
Referenced by i386_pseudo_register_type().
int i386_zmmh_regnum_p | ( | struct gdbarch * | gdbarch, |
int | regnum ) |
Definition at line 222 of file i386-tdep.c.
References i386_gdbarch_tdep::num_zmm_regs, regnum, and i386_gdbarch_tdep::zmm0h_regnum.
Referenced by i386_register_name(), and i386_register_reggroup_p().
Definition at line 3152 of file i386-tdep.c.
References i386_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().
|
static |
Definition at line 591 of file i386-tdep.c.
Referenced by i386_print_insn().
|
static |
Definition at line 3024 of file i386-tdep.c.
Referenced by i386_reg_struct_return_p().
|
static |
Definition at line 599 of file i386-tdep.c.
Referenced by i386_print_insn().
|
static |
Definition at line 132 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
constexpr |
Definition at line 613 of file i386-tdep.c.
|
static |
Definition at line 147 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 2365 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 2354 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
const struct regset i386_fpregset |
Definition at line 4047 of file i386-tdep.c.
Referenced by i386_gdbarch_init(), i386_linux_iterate_over_regset_sections(), and i386fbsd_iterate_over_regset_sections().
|
static |
Definition at line 2616 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 1473 of file i386-tdep.c.
Referenced by i386_analyze_frame_setup().
|
static |
Definition at line 2199 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
const struct regset i386_gregset |
Definition at line 4042 of file i386-tdep.c.
Referenced by amd64_linux_iterate_over_regset_sections(), i386_iterate_over_regset_sections(), i386_linux_iterate_over_regset_sections(), and i386nto_supply_gregset().
|
static |
Definition at line 102 of file i386-tdep.c.
Referenced by i386_validate_tdesc_p().
|
static |
Definition at line 139 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 4587 of file i386-tdep.c.
Referenced by i386_add_reggroups(), i386_init_reggroups(), and i386_register_reggroup_p().
|
static |
Definition at line 120 of file i386-tdep.c.
Referenced by i386_validate_tdesc_p().
|
static |
Definition at line 125 of file i386-tdep.c.
Referenced by i386_validate_tdesc_p().
|
static |
Definition at line 8205 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 75 of file i386-tdep.c.
Referenced by i386_gdbarch_init(), and i386_in_indirect_branch_thunk().
|
static |
Definition at line 2596 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 4586 of file i386-tdep.c.
Referenced by i386_add_reggroups(), i386_init_reggroups(), and i386_register_reggroup_p().
|
static |
Definition at line 2447 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 2386 of file i386-tdep.c.
Referenced by i386_in_stack_tramp_p().
|
static |
Definition at line 2399 of file i386-tdep.c.
Referenced by i386_in_stack_tramp_p().
|
static |
Definition at line 155 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 108 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 114 of file i386-tdep.c.
Referenced by i386_validate_tdesc_p().
|
static |
Definition at line 90 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 96 of file i386-tdep.c.
Referenced by i386_validate_tdesc_p().
|
static |
Definition at line 592 of file i386-tdep.c.
Referenced by i386_print_insn().
|
static |
Definition at line 9214 of file i386-tdep.c.
|
static |
Definition at line 9214 of file i386-tdep.c.
const int num_lower_zmm_regs = 16 |
Definition at line 165 of file i386-tdep.c.
Referenced by i386_ax_pseudo_register_collect(), i386_pseudo_register_read_into_value(), and i386_pseudo_register_write().
|
static |
Definition at line 3025 of file i386-tdep.c.
Referenced by i386_reg_struct_return_p().
|
static |
Definition at line 3026 of file i386-tdep.c.
|
static |
Definition at line 3034 of file i386-tdep.c.
Referenced by i386_reg_struct_return_p().
|
static |
Definition at line 3027 of file i386-tdep.c.
|
static |
Definition at line 593 of file i386-tdep.c.