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 "doublest.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 "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 "features/i386/i386.c"
#include "features/i386/i386-avx.c"
#include "features/i386/i386-mpx.c"
#include "features/i386/i386-avx512.c"
#include "features/i386/i386-mmx.c"
#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>
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 } |
#define HIGH_RETURN_REGNUM I386_EDX_REGNUM /* %edx */ |
Definition at line 2745 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 1359 of file i386-tdep.c.
Referenced by i386_match_pattern().
#define I386_NUM_SAVED_REGS I386_NUM_GREGS |
Definition at line 1040 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 4946 of file i386-tdep.c.
Referenced by i386_process_record().
#define I386_SAVE_FPU_ENV 0xfffe |
Definition at line 4877 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 4878 of file i386-tdep.c.
Referenced by i386_process_record(), and i386_record_floats().
#define I386_SAVE_FPU_REGS 0xfffd |
Definition at line 4876 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 2744 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 8620 of file i386-tdep.c.
Referenced by i386_mpx_bd_base().
#define MPX_BD_MASK 0xfffffff00000ULL /* select bits [47:20] */ |
Definition at line 8655 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 8657 of file i386-tdep.c.
Referenced by i386_mpx_get_bt_entry().
#define MPX_BT_MASK 0x0000000ffff8 /* select bits [19:3] */ |
Definition at line 8656 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 8658 of file i386-tdep.c.
Referenced by i386_mpx_get_bt_entry().
#define PREFIX_ADDR 0x10 |
Definition at line 4555 of file i386-tdep.c.
Referenced by i386_process_record().
#define PREFIX_DATA 0x08 |
Definition at line 4554 of file i386-tdep.c.
Referenced by i386_process_record().
#define PREFIX_LOCK 0x04 |
Definition at line 4553 of file i386-tdep.c.
Referenced by i386_process_record().
#define PREFIX_REPNZ 0x02 |
Definition at line 4552 of file i386-tdep.c.
Referenced by i386_process_record().
#define PREFIX_REPZ 0x01 |
Definition at line 4551 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 4558 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 4568 of file i386-tdep.c.
void _initialize_i386_tdep | ( | void | ) |
Definition at line 8878 of file i386-tdep.c.
References _, add_cmd(), add_prefix_cmd(), add_setshow_enum_cmd(), class_support, disassembly_flavor, GDB_OSABI_GO32, GDB_OSABI_SVR4, gdbarch_register_osabi(), gdbarch_register_osabi_sniffer(), i386_coff_osabi_sniffer(), i386_gdbarch_init(), i386_go32_init_abi(), i386_init_reggroups(), i386_mpx_info_bounds(), i386_mpx_set_bounds(), i386_svr4_init_abi(), initialize_tdesc_i386(), initialize_tdesc_i386_avx(), initialize_tdesc_i386_avx512(), initialize_tdesc_i386_mmx(), initialize_tdesc_i386_mpx(), no_class, register_gdbarch_init(), register_remote_support_xml(), set_mpx_cmd(), setlist, show_mpx_cmd(), showlist, struct_convention, valid_conventions, and valid_flavors.
Definition at line 944 of file i386-tdep.c.
References len, and target_write_memory().
Referenced by i386_relocate_instruction().
Definition at line 2606 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().
Definition at line 662 of file i386-tdep.c.
Referenced by i386_call_p(), and i386_displaced_step_fixup().
Definition at line 625 of file i386-tdep.c.
Referenced by i386_displaced_step_fixup(), and i386_jmp_p().
|
static |
Definition at line 4423 of file i386-tdep.c.
References all_reggroup, float_reggroup, general_reggroup, reggroup_add(), restore_reggroup, save_reggroup, system_reggroup, and vector_reggroup.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 1063 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 1567 of file i386-tdep.c.
References gdbarch_byte_order(), I386_EBP_REGNUM, i386_match_insn(), i386_insn::insn, i386_insn::len, 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 1783 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().
|
static |
Definition at line 1730 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().
|
static |
Definition at line 1248 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, min, offset, i386_frame_cache::pc, i386_frame_cache::saved_sp_reg, and target_read_code().
Referenced by i386_analyze_prologue().
|
static |
Definition at line 1149 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().
Definition at line 308 of file i386-tdep.c.
References gdbarch_tdep::bnd0_regnum, gdbarch_tdep(), and I387_NUM_BND_REGS.
Referenced by 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 3002 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().
Definition at line 390 of file i386-tdep.c.
References gdbarch_tdep::bnd0r_regnum, gdbarch_tdep(), I387_BND0R_REGNUM, and I387_NUM_BND_REGS.
Referenced by i386_register_reggroup_p().
|
static |
Definition at line 578 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
Definition at line 176 of file i386-tdep.c.
References gdbarch_tdep::al_regnum, gdbarch_tdep(), and gdbarch_tdep::num_byte_regs.
Referenced by amd64_pseudo_register_name(), amd64_pseudo_register_read_value(), amd64_pseudo_register_write(), 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 700 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 8591 of file i386-tdep.c.
References GDB_OSABI_GO32, and GDB_OSABI_UNKNOWN.
Referenced by _initialize_i386_tdep().
|
static |
Definition at line 3800 of file i386-tdep.c.
References gdb_assert, gdbarch_tdep(), get_regcache_arch(), i387_collect_fsave(), i387_collect_fxsave(), I387_SIZEOF_FXSAVE, and gdbarch_tdep::sizeof_fpregset.
|
static |
Definition at line 3754 of file i386-tdep.c.
References gdb_assert, gdbarch_tdep(), get_regcache_arch(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, regcache_raw_collect(), gdbarch_tdep::regs, and gdbarch_tdep::sizeof_gregset.
|
static |
Definition at line 3629 of file i386-tdep.c.
References i386_next_regnum(), i387_convert_register_p(), len, regnum, and TYPE_LENGTH.
Referenced by i386_gdbarch_init().
Definition at line 462 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_reg_to_regnum().
struct displaced_step_closure* i386_displaced_step_copy_insn | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | from, | ||
CORE_ADDR | to, | ||
struct regcache * | regs | ||
) |
Definition at line 775 of file i386-tdep.c.
References debug_displaced, displaced_step_dump_bytes(), fprintf_unfiltered(), gdb_stdlog, gdbarch_max_insn_length(), i386_skip_prefixes(), i386_syscall_p(), len, paddress(), read_memory(), write_memory(), and xmalloc().
Referenced by i386_linux_displaced_step_copy_insn().
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 812 of file i386-tdep.c.
References debug_displaced, fprintf_unfiltered(), from, 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_skip_prefixes(), 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().
|
static |
Definition at line 2546 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().
Definition at line 198 of file i386-tdep.c.
References gdbarch_tdep::eax_regnum, gdbarch_tdep(), and gdbarch_tdep::num_dword_regs.
Referenced by 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 4332 of file i386-tdep.c.
References i386_gnu_triplet_regexp(), i386_stap_is_single_operand(), i386_stap_parse_special_token(), i386_svr4_reg_to_regnum(), set_gdbarch_gnu_triplet_regexp(), 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_elf_init_abi().
|
static |
Definition at line 2217 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().
|
static |
Definition at line 2280 of file i386-tdep.c.
References i386_epilogue_frame_cache(), and i386_frame_prev_register().
|
static |
Definition at line 2205 of file i386-tdep.c.
References frame_relative_level(), get_frame_arch(), get_frame_pc(), and i386_stack_frame_destroyed_p().
|
static |
Definition at line 2266 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 2253 of file i386-tdep.c.
References i386_frame_cache::base_p, and i386_epilogue_frame_cache().
|
static |
Definition at line 2751 of file i386-tdep.c.
References _, convert_typed_floating(), gdbarch_tdep(), HIGH_RETURN_REGNUM, I386_MAX_REGISTER_SIZE, I386_ST0_REGNUM, i387_ext_type(), internal_error(), len, LOW_RETURN_REGNUM, regcache_raw_read(), register_size(), gdbarch_tdep::st0_regnum, TYPE_CODE, TYPE_CODE_FLT, TYPE_LENGTH, and warning().
Referenced by i386_return_value().
|
static |
Definition at line 8048 of file i386-tdep.c.
References _, gdb_print_insn(), len, register_size(), target_get_min_fast_tracepoint_insn_len, ui_file_new(), and xstrprintf().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 4542 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().
Definition at line 1094 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().
Definition at line 364 of file i386-tdep.c.
References gdbarch_tdep(), I387_FCTRL_REGNUM, and I387_ST0_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().
Definition at line 376 of file i386-tdep.c.
References gdbarch_tdep(), I387_FCTRL_REGNUM, I387_ST0_REGNUM, and I387_XMM0_REGNUM.
Referenced by fetch_register(), i386_process_record(), i386_register_reggroup_p(), and store_register().
Definition at line 2560 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 2530 of file i386-tdep.c.
References i386_frame_cache::base, and i386_frame_cache().
|
static |
Definition at line 2048 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().
|
static |
Definition at line 1947 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().
|
static |
Definition at line 2108 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, 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 2073 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 2092 of file i386-tdep.c.
References i386_frame_cache::base, i386_frame_cache::base_p, and i386_frame_cache().
|
static |
Definition at line 8244 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_AVX512_NUM_REGS, i386_breakpoint_from_pc(), i386_convert_register_p(), i386_dbx_reg_to_regnum(), i386_dummy_id(), I386_EFLAGS_REGNUM, I386_EIP_REGNUM, I386_ESP_REGNUM, i386_fast_tracepoint_valid_at(), i386_fetch_pointer_argument(), i386_fpregset, i386_frame_align(), 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_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_p(), i386_skip_prologue(), I386_ST0_REGNUM, i386_svr4_reg_to_regnum(), 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_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::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_breakpoint_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_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_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_info::tdep_info, gdbarch_tdep::tdesc, tdesc_data, tdesc_data_alloc(), tdesc_data_cleanup(), tdesc_has_registers(), tdesc_i386, tdesc_use_registers(), 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().
|
static |
Definition at line 2383 of file i386-tdep.c.
References ax_const_l(), ax_reg(), ax_simple(), axs_lvalue_memory, I386_EBP_REGNUM, I386_EIP_REGNUM, axs_value::kind, register_type(), and axs_value::type.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 2573 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().
Definition at line 4322 of file i386-tdep.c.
Referenced by i386_elf_init_abi(), i386_gdbarch_init(), and i386_go32_init_abi().
|
static |
Definition at line 4383 of file i386-tdep.c.
References gdbarch_tdep(), i386_gnu_triplet_regexp(), i386_svr4_reg_to_regnum(), gdbarch_tdep::jb_pc_offset, set_gdbarch_gnu_triplet_regexp(), set_gdbarch_has_dos_based_file_system(), set_gdbarch_sdb_reg_to_regnum(), set_gdbarch_stab_reg_to_regnum(), gdbarch_tdep::sigtramp_p, gdbarch_info::target_desc, gdbarch_tdep::tdesc, tdesc_has_registers(), and tdesc_i386_mmx.
Referenced by _initialize_i386_tdep().
Definition at line 2336 of file i386-tdep.c.
References find_pc_partial_function(), i386_match_insn_block(), i386_insn::insn, name, and target_read_memory().
Referenced by i386_stack_tramp_frame_sniffer().
|
static |
Definition at line 4416 of file i386-tdep.c.
References reggroup_new(), and USER_REGGROUP.
Referenced by _initialize_i386_tdep().
Definition at line 735 of file i386-tdep.c.
References i386_call_p(), I386_MAX_INSN_LEN, i386_skip_prefixes(), and read_code().
Referenced by i386_gdbarch_init().
Definition at line 761 of file i386-tdep.c.
References i386_jmp_p(), I386_MAX_INSN_LEN, i386_skip_prefixes(), and read_code().
Referenced by i386_gdbarch_init().
Definition at line 748 of file i386-tdep.c.
References I386_MAX_INSN_LEN, i386_ret_p(), i386_skip_prefixes(), 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 3832 of file i386-tdep.c.
References gdbarch_tdep::fpregset, gdbarch_tdep(), gdbarch_tdep::sizeof_fpregset, and gdbarch_tdep::sizeof_gregset.
Referenced by i386_gdbarch_init().
Definition at line 648 of file i386-tdep.c.
References i386_absolute_jmp_p().
Referenced by i386_insn_is_jump().
Definition at line 239 of file i386-tdep.c.
References gdbarch_tdep(), I387_NUM_K_REGS, and gdbarch_tdep::k0_regnum.
Referenced by i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), and i386_pseudo_register_write().
Definition at line 1406 of file i386-tdep.c.
References i386_match_pattern(), and i386_insn::len.
Referenced by i386_analyze_frame_setup(), and i386_match_insn_block().
Definition at line 1423 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().
Definition at line 1372 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().
Definition at line 161 of file i386-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::mm0_regnum, and gdbarch_tdep::num_mmx_regs.
Referenced by 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().
Definition at line 3218 of file i386-tdep.c.
References gdbarch_tdep(), get_regcache_arch(), I387_FSTAT_REGNUM, I387_ST0_REGNUM, gdbarch_tdep::mm0_regnum, and regcache_raw_read_unsigned().
Referenced by i386_pseudo_register_read_into_value(), and i386_pseudo_register_write().
Definition at line 3142 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().
|
static |
Definition at line 8625 of file i386-tdep.c.
References _, gdbarch_tdep::bndcfgu_regnum, error(), gdbarch_tdep(), get_current_regcache(), get_regcache_arch(), MPX_BASE_MASK, REG_VALID, and regcache_raw_read_unsigned().
Referenced by i386_mpx_info_bounds(), and i386_mpx_set_bounds().
Definition at line 404 of file i386-tdep.c.
References gdbarch_tdep(), I387_BNDCFGU_REGNUM, and I387_NUM_MPX_CTRL_REGS.
Referenced by i386_register_reggroup_p().
|
static |
Definition at line 8647 of file i386-tdep.c.
References gdbarch_tdep(), get_current_arch(), gdbarch_tdep::tdesc, and tdesc_find_feature().
Referenced by i386_mpx_info_bounds(), and i386_mpx_set_bounds().
Definition at line 8664 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().
|
static |
Definition at line 8767 of file i386-tdep.c.
References _, builtin_type::builtin_data_ptr, builtin_type(), 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(), printf_unfiltered(), and read_memory_typed_address().
Referenced by _initialize_i386_tdep().
Definition at line 8718 of file i386-tdep.c.
References current_uiout, gdbarch_ptr_bit(), get_current_arch(), plongest(), size, ui_out_field_core_addr(), ui_out_field_fmt(), and ui_out_text().
Referenced by i386_mpx_info_bounds().
|
static |
Definition at line 8808 of file i386-tdep.c.
References _, builtin_type::builtin_data_ptr, builtin_type(), gdbarch::byte_order, error(), 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().
Referenced by _initialize_i386_tdep().
Definition at line 351 of file i386-tdep.c.
References gdbarch_tdep(), I387_MXCSR_REGNUM, and I387_NUM_XMM_REGS.
Referenced by i386_process_record(), and i386_register_reggroup_p().
Definition at line 3600 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 | ( | struct frame_info * | frame, |
CORE_ADDR | pc, | ||
char * | name | ||
) |
Definition at line 3848 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, read_memory_unsigned_integer(), and startswith().
Referenced by i386_cygwin_skip_trampoline_code().
|
static |
Definition at line 3893 of file i386-tdep.c.
References att_flavor, disassembly_flavor, gdb_assert, 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 4950 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_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, MAX_REGISTER_SIZE, 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, target_terminal_inferior(), target_terminal_ours(), 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().
Definition at line 439 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(), gdbarch_tdep::ymm0_regnum, and gdbarch_tdep::zmm0_regnum.
Referenced by amd64_pseudo_register_name(), and i386_gdbarch_init().
void i386_pseudo_register_read_into_value | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
int | regnum, | ||
struct value * | result_value | ||
) |
Definition at line 3238 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_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(), MAX_REGISTER_SIZE, num_lower_zmm_regs, REG_VALID, regcache_raw_read(), register_size(), 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().
|
static |
Definition at line 3432 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().
Definition at line 3186 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(), and internal_error().
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 3448 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_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, MAX_REGISTER_SIZE, num_lower_zmm_regs, regcache_raw_read(), regcache_raw_write(), register_size(), 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().
|
static |
Definition at line 2645 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, len, regcache_cooked_write(), store_unsigned_integer(), TYPE_LENGTH, value_contents_all(), value_enclosing_type(), and write_memory().
Referenced by i386_gdbarch_init().
|
static |
Definition at line 2631 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 4884 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().
|
static |
Definition at line 4820 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, target_terminal_inferior(), target_terminal_ours(), and yquery().
Referenced by i386_process_record().
|
static |
Definition at line 4622 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().
|
static |
Definition at line 4603 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 4858 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, and X86_RECORD_RESP_REGNUM.
Referenced by i386_process_record().
Definition at line 2882 of file i386-tdep.c.
References check_typedef(), code, default_struct_convention, gdb_assert, gdbarch_tdep(), len, 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().
Definition at line 419 of file i386-tdep.c.
References i386_ymmh_avx512_regnum_p(), i386_ymmh_regnum_p(), i386_zmmh_regnum_p(), and tdesc_register_name().
Referenced by i386_gdbarch_init().
Definition at line 4437 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_regnum_p(), i386_mpx_ctrl_regnum_p(), i386_mxcsr_regnum_p(), 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(), vector_reggroup, X86_XSTATE_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().
|
static |
Definition at line 3660 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(), len, register_size(), and TYPE_LENGTH.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 951 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, i386_skip_prefixes(), offset, paddress(), read_memory(), store_signed_integer(), store_unsigned_integer(), and to.
Referenced by i386_gdbarch_init().
Definition at line 683 of file i386-tdep.c.
Referenced by i386_displaced_step_fixup(), and i386_insn_is_ret().
|
static |
Definition at line 2916 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().
|
static |
Definition at line 2400 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().
|
static |
Definition at line 2479 of file i386-tdep.c.
References i386_frame_prev_register(), and i386_sigtramp_frame_cache().
|
static |
Definition at line 2489 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.
|
static |
Definition at line 2463 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 2450 of file i386-tdep.c.
References i386_frame_cache::base_p, and i386_sigtramp_frame_cache().
int i386_sigtramp_p | ( | struct frame_info * | this_frame | ) |
Definition at line 3879 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().
Definition at line 1901 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().
Definition at line 1513 of file i386-tdep.c.
References check(), and target_read_code().
Referenced by i386_analyze_prologue().
Definition at line 595 of file i386-tdep.c.
Referenced by i386_displaced_step_copy_insn(), i386_displaced_step_fixup(), i386_insn_is_call(), i386_insn_is_jump(), i386_insn_is_ret(), and i386_relocate_instruction().
Definition at line 1201 of file i386-tdep.c.
References i386_frame_cache::pc, read_memory(), and target_read_code().
Referenced by i386_analyze_prologue().
Definition at line 1799 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, max, i386_frame_cache::pc, read_code_unsigned_integer(), skip_prologue_using_sal(), startswith(), and target_read_code().
Referenced by i386_gdbarch_init().
Definition at line 2186 of file i386-tdep.c.
References COMPUNIT_EPILOGUE_UNWIND_VALID, find_pc_compunit_symtab(), and target_read_memory().
Referenced by i386_epilogue_frame_sniffer().
|
static |
Definition at line 2360 of file i386-tdep.c.
References frame_relative_level(), get_frame_pc(), and i386_in_stack_tramp_p().
Definition at line 3951 of file i386-tdep.c.
Referenced by amd64_init_abi(), and i386_elf_init_abi().
int i386_stap_parse_special_token | ( | struct gdbarch * | gdbarch, |
struct stap_parse_info * | p | ||
) |
Definition at line 4271 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 4114 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().
|
static |
Definition at line 3968 of file i386-tdep.c.
References _, stap_parse_info::arg, stap_parse_info::arg_type, error(), len, 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().
|
static |
Definition at line 2802 of file i386-tdep.c.
References _, convert_typed_floating(), gdbarch_tdep(), HIGH_RETURN_REGNUM, I386_MAX_REGISTER_SIZE, I386_ST0_REGNUM, i387_ext_type(), I387_FSTAT_REGNUM, I387_FTAG_REGNUM, internal_error(), len, LOW_RETURN_REGNUM, regcache_raw_read_unsigned(), regcache_raw_write(), regcache_raw_write_part(), regcache_raw_write_unsigned(), register_size(), gdbarch_tdep::st0_regnum, TYPE_CODE, TYPE_CODE_FLT, TYPE_LENGTH, and warning().
Referenced by i386_return_value().
|
static |
Definition at line 3778 of file i386-tdep.c.
References gdb_assert, gdbarch_tdep(), get_regcache_arch(), I387_SIZEOF_FXSAVE, i387_supply_fsave(), i387_supply_fxsave(), and 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 3730 of file i386-tdep.c.
References gdb_assert, gdbarch_tdep(), get_regcache_arch(), gdbarch_tdep::gregset_num_regs, gdbarch_tdep::gregset_reg_offset, regcache_raw_supply(), gdbarch_tdep::regs, and gdbarch_tdep::sizeof_gregset.
Referenced by amd64obsd_supply_regset(), and i386obsd_aout_supply_regset().
void i386_svr4_init_abi | ( | struct gdbarch_info | info, |
struct gdbarch * | gdbarch | ||
) |
Definition at line 4362 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().
Definition at line 509 of file i386-tdep.c.
References gdbarch_num_pseudo_regs(), gdbarch_num_regs(), 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_elf_init_abi(), i386_gdbarch_init(), and i386_go32_init_abi().
|
static |
Definition at line 3932 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().
|
static |
Definition at line 3917 of file i386-tdep.c.
References find_pc_partial_function(), get_frame_pc(), and name.
Referenced by i386_svr4_init_abi().
Definition at line 716 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 | ) |
Definition at line 8604 of file i386-tdep.c.
References tdesc_i386, tdesc_i386_avx, tdesc_i386_avx512, tdesc_i386_mpx, X86_XSTATE_ALL_MASK, X86_XSTATE_AVX512_MASK, X86_XSTATE_AVX_MASK, X86_XSTATE_MPX_AVX512_MASK, and X86_XSTATE_MPX_MASK.
Referenced by amd64fbsd_read_description(), and i386fbsd_core_read_description().
|
static |
Definition at line 1935 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 8103 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_YMM0H_REGNUM, i386_ymmh_names, I386_ZMM0H_REGNUM, i386_zmmh_names, I387_BND0R_REGNUM, I387_NUM_K_REGS, I387_NUM_MPX_REGS, gdbarch_tdep::k0_regnum, gdbarch_tdep::k_register_names, gdbarch_tdep::mpx_register_names, gdbarch_tdep::num_core_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::register_names, gdbarch_tdep::tdesc, tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), X86_XSTATE_AVX_MASK, X86_XSTATE_MPX_AVX512_MASK, X86_XSTATE_MPX_MASK, 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().
|
static |
Definition at line 3698 of file i386-tdep.c.
References gdb_assert, get_frame_arch(), i386_fp_regnum_p(), i386_next_regnum(), i387_value_to_register(), len, put_frame_register(), register_size(), and TYPE_LENGTH.
Referenced by i386_gdbarch_init().
Definition at line 187 of file i386-tdep.c.
References gdbarch_tdep::ax_regnum, gdbarch_tdep(), and gdbarch_tdep::num_word_regs.
Referenced by amd64_pseudo_register_name(), 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 338 of file i386-tdep.c.
References gdbarch_tdep(), I387_NUM_XMM_AVX512_REGS, I387_XMM16_REGNUM, and gdbarch_tdep::num_xmm_avx512_regs.
Referenced by i386_register_reggroup_p().
Definition at line 323 of file i386-tdep.c.
References gdbarch_tdep(), I387_NUM_XMM_REGS, I387_XMM0_REGNUM, and gdbarch_tdep::num_xmm_regs.
Referenced by amd64_dwarf_reg_to_regnum(), i386_dbx_reg_to_regnum(), i386_process_record(), and i386_register_reggroup_p().
Definition at line 293 of file i386-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::num_ymm_avx512_regs, and gdbarch_tdep::ymm16_regnum.
Referenced by amd64_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 267 of file i386-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::num_ymm_regs, and gdbarch_tdep::ymm0_regnum.
Referenced by amd64_pseudo_register_name(), 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 3091 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().
Definition at line 280 of file i386-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::num_ymm_avx512_regs, and gdbarch_tdep::ymm16h_regnum.
Referenced by i386_register_name(), and i386_register_reggroup_p().
Definition at line 252 of file i386-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::num_ymm_regs, and gdbarch_tdep::ymm0h_regnum.
Referenced by i386_register_name(), and i386_register_reggroup_p().
Definition at line 226 of file i386-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::num_zmm_regs, and gdbarch_tdep::zmm0_regnum.
Referenced by amd64_pseudo_register_name(), 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 3038 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().
Definition at line 213 of file i386-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::num_zmm_regs, and gdbarch_tdep::zmm0h_regnum.
Referenced by i386_register_name(), and i386_register_reggroup_p().
Definition at line 2984 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().
|
static |
Definition at line 8861 of file i386-tdep.c.
References all_commands, gdb_stdout, and help_list().
Referenced by _initialize_i386_tdep().
|
static |
Definition at line 8869 of file i386-tdep.c.
References cmd_show_list().
Referenced by _initialize_i386_tdep().
|
static |
Definition at line 555 of file i386-tdep.c.
Referenced by i386_print_insn().
|
static |
Definition at line 2865 of file i386-tdep.c.
Referenced by i386_reg_struct_return_p().
|
static |
Definition at line 563 of file i386-tdep.c.
Referenced by _initialize_i386_tdep(), and i386_print_insn().
|
static |
Definition at line 123 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 138 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 2289 of file i386-tdep.c.
Definition at line 3824 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 2537 of file i386-tdep.c.
struct i386_insn i386_frame_setup_skip_insns[] |
Definition at line 1461 of file i386-tdep.c.
|
static |
Definition at line 2167 of file i386-tdep.c.
Definition at line 3819 of file i386-tdep.c.
Referenced by amd64_linux_iterate_over_regset_sections(), amd64fbsd_iterate_over_regset_sections(), i386_linux_iterate_over_regset_sections(), i386fbsd_iterate_over_regset_sections(), and i386nto_supply_gregset().
|
static |
Definition at line 98 of file i386-tdep.c.
Referenced by i386_validate_tdesc_p().
|
static |
Definition at line 130 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 4413 of file i386-tdep.c.
|
static |
Definition at line 116 of file i386-tdep.c.
Referenced by i386_validate_tdesc_p().
Definition at line 8028 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 71 of file i386-tdep.c.
Referenced by i386_gdbarch_init().
|
static |
Definition at line 2518 of file i386-tdep.c.
|
static |
Definition at line 4412 of file i386-tdep.c.
|
static |
Definition at line 2370 of file i386-tdep.c.
struct i386_insn i386_tramp_chain_in_reg_insns[] |
Definition at line 2309 of file i386-tdep.c.
struct i386_insn i386_tramp_chain_on_stack_insns[] |
Definition at line 2322 of file i386-tdep.c.
|
static |
Definition at line 146 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 104 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 110 of file i386-tdep.c.
Referenced by i386_validate_tdesc_p().
|
static |
Definition at line 86 of file i386-tdep.c.
Referenced by i386_pseudo_register_name().
|
static |
Definition at line 92 of file i386-tdep.c.
Referenced by i386_validate_tdesc_p().
|
static |
Definition at line 556 of file i386-tdep.c.
Referenced by i386_print_insn().
|
static |
Definition at line 8856 of file i386-tdep.c.
|
static |
Definition at line 8856 of file i386-tdep.c.
Definition at line 156 of file i386-tdep.c.
Referenced by i386_pseudo_register_read_into_value(), and i386_pseudo_register_write().
|
static |
Definition at line 2866 of file i386-tdep.c.
Referenced by i386_reg_struct_return_p().
|
static |
Definition at line 2867 of file i386-tdep.c.
|
static |
Definition at line 2875 of file i386-tdep.c.
Referenced by _initialize_i386_tdep(), and i386_reg_struct_return_p().
Definition at line 2868 of file i386-tdep.c.
Referenced by _initialize_i386_tdep().
Definition at line 557 of file i386-tdep.c.
Referenced by _initialize_i386_tdep().