|
GDB (xrefs)
|
#include "defs.h"#include "opcode/i386.h"#include "dis-asm.h"#include "arch-utils.h"#include "block.h"#include "dummy-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 "objfiles.h"#include "regcache.h"#include "regset.h"#include "symfile.h"#include "disasm.h"#include "amd64-tdep.h"#include "i387-tdep.h"#include "x86-xstate.h"#include <algorithm>#include "target-descriptions.h"#include "arch/amd64.h"#include "producer.h"#include "ax.h"#include "ax-gdb.h"#include "common/byte-vector.h"Go to the source code of this file.
Classes | |
| struct | amd64_insn |
| struct | amd64_displaced_step_closure |
| struct | amd64_frame_cache |
Macros | |
| #define | AMD64_NUM_LOWER_BYTE_REGS 16 |
| #define | AMD64_NUM_SAVED_REGS AMD64_NUM_GREGS |
Enumerations | |
| enum | amd64_reg_class { AMD64_INTEGER, AMD64_SSE, AMD64_SSEUP, AMD64_X87, AMD64_X87UP, AMD64_COMPLEX_X87, AMD64_NO_CLASS, AMD64_MEMORY } |
Variables | |
| static const char * | amd64_register_names [] |
| static const char * | amd64_ymm_names [] |
| static const char * | amd64_ymm_avx512_names [] |
| static const char * | amd64_ymmh_names [] |
| static const char * | amd64_ymmh_avx512_names [] |
| static const char * | amd64_mpx_names [] |
| static const char * | amd64_k_names [] |
| static const char * | amd64_zmmh_names [] |
| static const char * | amd64_zmm_names [] |
| static const char * | amd64_xmm_avx512_names [] |
| static const char * | amd64_pkeys_names [] |
| static int | amd64_dwarf_regmap [] |
| static const int | amd64_dwarf_regmap_len |
| static const int | amd64_arch_regmap [16] |
| static const int | amd64_arch_regmap_len |
| static const char * | amd64_byte_names [] |
| static const char * | amd64_word_names [] |
| static const char * | amd64_dword_names [] |
| static const unsigned char | onebyte_has_modrm [256] |
| static const unsigned char | twobyte_has_modrm [256] |
| static const struct frame_unwind | amd64_frame_unwind |
| static const struct frame_unwind | amd64_sigtramp_frame_unwind |
| static const struct frame_base | amd64_frame_base |
| static const struct frame_unwind | amd64_epilogue_frame_unwind |
| const struct regset | amd64_fpregset |
| static const int | amd64_record_regmap [] |
| #define AMD64_NUM_LOWER_BYTE_REGS 16 |
Definition at line 307 of file amd64-tdep.c.
Referenced by amd64_ax_pseudo_register_collect(), amd64_pseudo_register_read_value(), and amd64_pseudo_register_write().
| #define AMD64_NUM_SAVED_REGS AMD64_NUM_GREGS |
Definition at line 1902 of file amd64-tdep.c.
Referenced by amd64_frame_cache_1(), amd64_init_frame_cache(), and amd64_sigtramp_frame_cache().
| enum amd64_reg_class |
| Enumerator | |
|---|---|
| AMD64_INTEGER | |
| AMD64_SSE | |
| AMD64_SSEUP | |
| AMD64_X87 | |
| AMD64_X87UP | |
| AMD64_COMPLEX_X87 | |
| AMD64_NO_CLASS | |
| AMD64_MEMORY | |
Definition at line 490 of file amd64-tdep.c.
| void _initialize_amd64_tdep | ( | void | ) |
Definition at line 3264 of file amd64-tdep.c.
References amd64_target_description(), X86_XSTATE_AVX_AVX512_MASK, X86_XSTATE_AVX_MASK, X86_XSTATE_AVX_MPX_AVX512_PKU_MASK, X86_XSTATE_AVX_MPX_MASK, X86_XSTATE_MPX_MASK, and X86_XSTATE_SSE_MASK.
|
static |
Definition at line 1502 of file amd64-tdep.c.
References amd64_insn::opcode_offset, and amd64_insn::raw_insn.
Referenced by amd64_call_p(), and amd64_displaced_step_fixup().
|
static |
Definition at line 1465 of file amd64-tdep.c.
References amd64_insn::opcode_offset, and amd64_insn::raw_insn.
Referenced by amd64_displaced_step_fixup(), and amd64_jmp_p().
|
static |
Definition at line 1951 of file amd64-tdep.c.
References amd64_init_frame_cache(), and FRAME_OBSTACK_ZALLOC.
Referenced by amd64_epilogue_frame_cache(), amd64_frame_cache(), and amd64_sigtramp_frame_cache().
|
static |
Definition at line 2316 of file amd64-tdep.c.
References amd64_analyze_stack_align(), AMD64_RBP_REGNUM, amd64_x32_analyze_stack_align(), amd64_frame_cache::frameless_p, gdbarch_byte_order(), gdbarch_ptr_bit(), amd64_frame_cache::pc, read_code(), read_code_unsigned_integer(), amd64_frame_cache::saved_regs, and amd64_frame_cache::sp_offset.
Referenced by amd64_frame_cache_1(), and amd64_skip_prologue().
|
static |
Definition at line 1967 of file amd64-tdep.c.
References amd64_arch_reg_to_regnum(), offset, amd64_frame_cache::pc, amd64_frame_cache::saved_sp_reg, and target_read_code().
Referenced by amd64_analyze_prologue().
|
static |
Definition at line 290 of file amd64-tdep.c.
References amd64_arch_regmap, amd64_arch_regmap_len, and gdb_assert.
Referenced by amd64_analyze_stack_align(), amd64_x32_analyze_stack_align(), and fixup_riprel().
|
static |
Definition at line 460 of file amd64-tdep.c.
References gdbarch_tdep::al_regnum, AMD64_NUM_LOWER_BYTE_REGS, ax_reg_mask(), gdbarch_tdep::eax_regnum, gdbarch_tdep(), i386_ax_pseudo_register_collect(), i386_byte_regnum_p(), i386_dword_regnum_p(), and regnum.
Referenced by amd64_init_abi().
|
static |
Definition at line 1541 of file amd64-tdep.c.
References amd64_absolute_call_p(), amd64_insn::opcode_offset, and amd64_insn::raw_insn.
Referenced by amd64_displaced_step_fixup(), and amd64_insn_is_call().
|
static |
Definition at line 660 of file amd64-tdep.c.
References amd64_classify_aggregate(), AMD64_COMPLEX_X87, AMD64_INTEGER, AMD64_NO_CLASS, AMD64_SSE, AMD64_SSEUP, AMD64_X87, AMD64_X87UP, code, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_DECFLOAT, TYPE_CODE_ENUM, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_IS_REFERENCE, and TYPE_LENGTH.
Referenced by amd64_classify_aggregate(), amd64_push_arguments(), and amd64_return_value().
|
static |
Definition at line 557 of file amd64-tdep.c.
References amd64_classify(), AMD64_MEMORY, amd64_merge_classes(), AMD64_NO_CLASS, amd64_non_pod_p(), AMD64_SSE, AMD64_SSEUP, check_typedef(), field_is_static(), gdb_assert, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD, TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, and TYPE_TARGET_TYPE.
Referenced by amd64_classify().
|
static |
Definition at line 1576 of file amd64-tdep.c.
References amd64_get_insn_details(), gdbarch_max_insn_length(), and read_code().
Referenced by amd64_insn_is_call(), amd64_insn_is_jump(), and amd64_insn_is_ret().
|
static |
Definition at line 2978 of file amd64-tdep.c.
References amd64_collect_fxsave(), regcache::arch(), gdb_assert, gdbarch_tdep(), regnum, and gdbarch_tdep::sizeof_fpregset.
| void amd64_collect_fxsave | ( | const struct regcache * | regcache, |
| int | regnum, | ||
| void * | fxsave | ||
| ) |
Definition at line 3355 of file amd64-tdep.c.
References regcache::arch(), gdbarch_bfd_arch_info(), gdbarch_tdep(), i387_collect_fxsave(), I387_FISEG_REGNUM, I387_FOSEG_REGNUM, regcache_raw_collect(), regnum, and gdbarch_tdep::regs.
Referenced by amd64_collect_fpregset(), amd64_linux_store_inferior_registers(), amd64bsd_store_inferior_registers(), fill_fpregset(), and i386_darwin_store_inferior_registers().
| void amd64_collect_xsave | ( | const struct regcache * | regcache, |
| int | regnum, | ||
| void * | xsave, | ||
| int | gcore | ||
| ) |
Definition at line 3376 of file amd64-tdep.c.
References regcache::arch(), gdbarch_bfd_arch_info(), gdbarch_tdep(), i387_collect_xsave(), I387_FISEG_REGNUM, I387_FOSEG_REGNUM, regcache_raw_collect(), regnum, and gdbarch_tdep::regs.
Referenced by amd64_linux_collect_xstateregset(), amd64_linux_store_inferior_registers(), amd64bsd_store_inferior_registers(), and amd64fbsd_collect_xstateregset().
| struct displaced_step_closure* amd64_displaced_step_copy_insn | ( | struct gdbarch * | gdbarch, |
| CORE_ADDR | from, | ||
| CORE_ADDR | to, | ||
| struct regcache * | regs | ||
| ) |
Definition at line 1416 of file amd64-tdep.c.
References amd64_get_insn_details(), amd64_syscall_p(), debug_displaced, displaced_step_dump_bytes(), fixup_displaced_copy(), fprintf_unfiltered(), gdb_stdlog, gdbarch_max_insn_length(), amd64_displaced_step_closure::insn_buf, amd64_displaced_step_closure::insn_details, memset(), amd64_insn::opcode_offset, paddress(), read_memory(), and write_memory().
Referenced by amd64_linux_init_abi_common().
| void amd64_displaced_step_fixup | ( | struct gdbarch * | gdbarch, |
| struct displaced_step_closure * | dsc_, | ||
| CORE_ADDR | from, | ||
| CORE_ADDR | to, | ||
| struct regcache * | regs | ||
| ) |
Definition at line 1622 of file amd64-tdep.c.
References amd64_absolute_call_p(), amd64_absolute_jmp_p(), amd64_call_p(), amd64_ret_p(), AMD64_RIP_REGNUM, AMD64_RSP_REGNUM, amd64_syscall_p(), debug_displaced, fprintf_unfiltered(), gdb_stdlog, gdbarch_byte_order(), amd64_displaced_step_closure::insn_buf, amd64_displaced_step_closure::insn_details, paddress(), read_memory_unsigned_integer(), regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), amd64_displaced_step_closure::tmp_regno, amd64_displaced_step_closure::tmp_save, amd64_displaced_step_closure::tmp_used, and write_memory_unsigned_integer().
Referenced by amd64_linux_init_abi_common().
|
static |
Definition at line 2939 of file amd64-tdep.c.
References AMD64_RBP_REGNUM, frame_id_build(), get_frame_pc(), and get_frame_register_unsigned().
Referenced by amd64_init_abi().
|
static |
Definition at line 245 of file amd64-tdep.c.
References amd64_dwarf_regmap, amd64_dwarf_regmap_len, gdbarch_tdep(), i386_xmm_regnum_p(), I387_XMM0_REGNUM, regnum, and gdbarch_tdep::ymm0_regnum.
Referenced by amd64_init_abi().
|
static |
Definition at line 2860 of file amd64-tdep.c.
References amd64_alloc_frame_cache(), AMD64_RIP_REGNUM, AMD64_RSP_REGNUM, amd64_frame_cache::base, amd64_frame_cache::base_p, gdbarch::byte_order, CATCH, END_CATCH, extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_pc(), get_frame_register(), NOT_AVAILABLE_ERROR, amd64_frame_cache::pc, RETURN_MASK_ERROR, amd64_frame_cache::saved_regs, amd64_frame_cache::saved_sp, amd64_frame_cache::sp_offset, throw_exception(), and TRY.
Referenced by amd64_epilogue_frame_this_id(), and amd64_epilogue_frame_unwind_stop_reason().
|
static |
Definition at line 2848 of file amd64-tdep.c.
References amd64_stack_frame_destroyed_p(), frame_relative_level(), get_frame_arch(), and get_frame_pc().
|
static |
Definition at line 2915 of file amd64-tdep.c.
References amd64_epilogue_frame_cache(), amd64_frame_cache::base, amd64_frame_cache::base_p, frame_id_build(), frame_id_build_unavailable_stack(), and amd64_frame_cache::pc.
|
static |
Definition at line 2902 of file amd64-tdep.c.
References amd64_epilogue_frame_cache(), and amd64_frame_cache::base_p.
Definition at line 2951 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 2804 of file amd64-tdep.c.
References amd64_frame_cache(), and amd64_frame_cache::base.
|
static |
Definition at line 2568 of file amd64-tdep.c.
References amd64_alloc_frame_cache(), amd64_frame_cache_1(), CATCH, END_CATCH, NOT_AVAILABLE_ERROR, RETURN_MASK_ERROR, throw_exception(), and TRY.
Referenced by amd64_frame_base_address(), amd64_frame_prev_register(), amd64_frame_this_id(), and amd64_frame_unwind_stop_reason().
|
static |
Definition at line 2499 of file amd64-tdep.c.
References amd64_analyze_prologue(), AMD64_NUM_SAVED_REGS, AMD64_RBP_REGNUM, AMD64_RIP_REGNUM, AMD64_RSP_REGNUM, amd64_frame_cache::base, amd64_frame_cache::base_p, gdbarch::byte_order, extract_unsigned_integer(), amd64_frame_cache::frameless_p, gdbarch_byte_order(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register(), amd64_frame_cache::pc, amd64_frame_cache::saved_regs, amd64_frame_cache::saved_sp, amd64_frame_cache::saved_sp_reg, and amd64_frame_cache::sp_offset.
Referenced by amd64_frame_cache().
|
static |
Definition at line 2628 of file amd64-tdep.c.
References amd64_frame_cache(), frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), gdb_assert, gdbarch_sp_regnum(), get_frame_arch(), regnum, amd64_frame_cache::saved_regs, and amd64_frame_cache::saved_sp.
Referenced by amd64_sigtramp_frame_prev_register().
|
static |
Definition at line 2610 of file amd64-tdep.c.
References amd64_frame_cache(), amd64_frame_cache::base, amd64_frame_cache::base_p, frame_id_build(), frame_id_build_unavailable_stack(), and amd64_frame_cache::pc.
|
static |
Definition at line 2593 of file amd64-tdep.c.
References amd64_frame_cache(), amd64_frame_cache::base, and amd64_frame_cache::base_p.
|
static |
Definition at line 2660 of file amd64-tdep.c.
References AMD64_RBP_REGNUM, AMD64_RIP_REGNUM, ax_const_l(), ax_reg(), ax_simple(), axs_lvalue_memory, register_type(), and value::type.
Referenced by amd64_init_abi().
|
static |
Definition at line 1254 of file amd64-tdep.c.
References amd64_skip_prefixes(), amd64_insn::enc_prefix_offset, amd64_insn::modrm_offset, onebyte_has_modrm, amd64_insn::opcode_len, amd64_insn::opcode_offset, amd64_insn::raw_insn, rex_prefix_p(), twobyte_has_modrm, vex2_prefix_p(), and vex3_prefix_p().
Referenced by amd64_classify_insn_at(), amd64_displaced_step_copy_insn(), and amd64_relocate_instruction().
|
static |
Definition at line 3002 of file amd64-tdep.c.
References AMD64_RDI_REGNUM, extract_typed_address(), gdbarch_tdep(), get_frame_arch(), get_frame_register(), gdbarch_tdep::jb_pc_offset, target_read_memory(), and TYPE_LENGTH.
Referenced by amd64_init_abi().
|
static |
Definition at line 1185 of file amd64-tdep.c.
References _, gdb_assert, internal_error(), amd64_insn::modrm_offset, amd64_insn::opcode_len, amd64_insn::opcode_offset, and amd64_insn::raw_insn.
Referenced by fixup_riprel().
| void amd64_init_abi | ( | struct gdbarch_info | info, |
| struct gdbarch * | gdbarch, | ||
| const target_desc * | default_tdesc | ||
| ) |
Definition at line 3037 of file amd64-tdep.c.
References amd64_ax_pseudo_register_collect(), AMD64_BND0R_REGNUM, AMD64_BNDCFGU_REGNUM, amd64_dummy_id(), amd64_dwarf_reg_to_regnum(), AMD64_EFLAGS_REGNUM, amd64_epilogue_frame_unwind, amd64_fpregset, amd64_frame_align(), amd64_frame_base, amd64_frame_unwind, AMD64_FSBASE_REGNUM, amd64_gen_return_address(), amd64_get_longjmp_target(), AMD64_GSBASE_REGNUM, amd64_insn_is_call(), amd64_insn_is_jump(), amd64_insn_is_ret(), AMD64_K0_REGNUM, amd64_k_names, amd64_mpx_names, AMD64_NUM_GREGS, AMD64_NUM_REGS, amd64_pkeys_names, AMD64_PKRU_REGNUM, amd64_pseudo_register_name(), amd64_pseudo_register_read_value(), amd64_pseudo_register_write(), amd64_push_dummy_call(), amd64_record_regmap, amd64_register_names, amd64_relocate_instruction(), amd64_return_value(), AMD64_RIP_REGNUM, AMD64_RSP_REGNUM, amd64_sigtramp_frame_unwind, amd64_skip_prologue(), AMD64_ST0_REGNUM, AMD64_XMM16_REGNUM, amd64_xmm_avx512_names, AMD64_YMM0H_REGNUM, AMD64_YMM16H_REGNUM, amd64_ymmh_avx512_names, amd64_ymmh_names, AMD64_ZMM0H_REGNUM, amd64_zmmh_names, gdbarch_tdep::bnd0r_regnum, gdbarch_tdep::bndcfgu_regnum, gdbarch_tdep::fpregset, frame_base_set_default(), frame_unwind_append_unwinder(), frame_unwind_prepend_unwinder(), gdbarch_tdep(), i386_stap_is_single_operand(), i386_stap_parse_special_token(), i387_convert_register_p(), I387_NUM_REGS, i387_register_to_value(), I387_SIZEOF_FXSAVE, i387_value_to_register(), gdbarch_tdep::k0_regnum, gdbarch_tdep::k_register_names, gdbarch_tdep::mpx_register_names, gdbarch_tdep::num_byte_regs, gdbarch_tdep::num_core_regs, gdbarch_tdep::num_dword_regs, gdbarch_tdep::num_mmx_regs, gdbarch_tdep::num_pkeys_regs, gdbarch_tdep::num_word_regs, gdbarch_tdep::num_xmm_avx512_regs, gdbarch_tdep::num_xmm_regs, gdbarch_tdep::num_ymm_avx512_regs, gdbarch_tdep::num_ymm_regs, gdbarch_tdep::num_zmm_regs, gdbarch_tdep::pkeys_register_names, gdbarch_tdep::pkru_regnum, gdbarch_tdep::record_regmap, gdbarch_tdep::register_names, set_gdbarch_ax_pseudo_register_collect(), set_gdbarch_convert_register_p(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_frame_red_zone_size(), set_gdbarch_gen_return_address(), set_gdbarch_get_longjmp_target(), set_gdbarch_insn_is_call(), set_gdbarch_insn_is_jump(), set_gdbarch_insn_is_ret(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_long_bit(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_ps_regnum(), set_gdbarch_pseudo_register_read_value(), set_gdbarch_pseudo_register_write(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_register_to_value(), set_gdbarch_relocate_instruction(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_stab_reg_to_regnum(), set_gdbarch_stap_integer_prefixes(), set_gdbarch_stap_is_single_operand(), set_gdbarch_stap_parse_special_token(), set_gdbarch_stap_register_indirection_prefixes(), set_gdbarch_stap_register_indirection_suffixes(), set_gdbarch_stap_register_prefixes(), set_gdbarch_value_to_register(), set_tdesc_pseudo_register_name(), gdbarch_tdep::sizeof_fpregset, gdbarch_tdep::st0_regnum, gdbarch_info::target_desc, gdbarch_info::tdep_info, gdbarch_tdep::tdesc, tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), 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 amd64_dicos_init_abi(), amd64_linux_init_abi(), amd64_sol2_init_abi(), amd64_windows_init_abi(), amd64_x32_init_abi(), amd64fbsd_init_abi(), amd64nbsd_init_abi(), amd64obsd_init_abi(), and x86_darwin_init_abi_64().
|
static |
Definition at line 1924 of file amd64-tdep.c.
References AMD64_NUM_SAVED_REGS, amd64_frame_cache::base, amd64_frame_cache::base_p, amd64_frame_cache::frameless_p, amd64_frame_cache::pc, amd64_frame_cache::saved_regs, amd64_frame_cache::saved_sp, amd64_frame_cache::saved_sp_reg, and amd64_frame_cache::sp_offset.
Referenced by amd64_alloc_frame_cache(), and amd64_skip_prologue().
Definition at line 1597 of file amd64-tdep.c.
References amd64_call_p(), and amd64_classify_insn_at().
Referenced by amd64_init_abi().
Definition at line 1613 of file amd64-tdep.c.
References amd64_classify_insn_at(), and amd64_jmp_p().
Referenced by amd64_init_abi().
Definition at line 1605 of file amd64-tdep.c.
References amd64_classify_insn_at(), and amd64_ret_p().
Referenced by amd64_init_abi().
|
static |
Definition at line 1486 of file amd64-tdep.c.
References amd64_absolute_jmp_p(), amd64_insn::opcode_offset, and amd64_insn::raw_insn.
Referenced by amd64_insn_is_jump().
|
static |
Definition at line 506 of file amd64-tdep.c.
References AMD64_COMPLEX_X87, AMD64_INTEGER, AMD64_MEMORY, AMD64_NO_CLASS, AMD64_SSE, AMD64_X87, and AMD64_X87UP.
Referenced by amd64_classify_aggregate().
|
static |
Definition at line 543 of file amd64-tdep.c.
References TYPE_CODE, TYPE_CODE_STRUCT, and TYPE_N_BASECLASSES.
Referenced by amd64_classify_aggregate().
|
static |
Definition at line 329 of file amd64-tdep.c.
References gdbarch_tdep::al_regnum, amd64_byte_names, amd64_dword_names, amd64_word_names, amd64_ymm_avx512_names, amd64_ymm_names, amd64_zmm_names, gdbarch_tdep::ax_regnum, gdbarch_tdep::eax_regnum, gdbarch_tdep(), i386_byte_regnum_p(), i386_dword_regnum_p(), i386_pseudo_register_name(), i386_word_regnum_p(), i386_ymm_avx512_regnum_p(), i386_ymm_regnum_p(), i386_zmm_regnum_p(), regnum, gdbarch_tdep::ymm0_regnum, gdbarch_tdep::ymm16_regnum, and gdbarch_tdep::zmm0_regnum.
Referenced by amd64_init_abi().
|
static |
Definition at line 349 of file amd64-tdep.c.
References gdbarch_tdep::al_regnum, allocate_value(), AMD64_NUM_LOWER_BYTE_REGS, gdbarch_tdep::eax_regnum, gdbarch_tdep(), i386_byte_regnum_p(), i386_dword_regnum_p(), i386_pseudo_register_read_into_value(), lval_register, mark_value_bytes_unavailable(), REG_VALID, regcache_raw_read(), register_size(), register_type(), regnum, status, TYPE_LENGTH, value_contents_raw(), VALUE_LVAL, VALUE_REGNUM, and value_type().
Referenced by amd64_init_abi().
|
static |
Definition at line 410 of file amd64-tdep.c.
References gdbarch_tdep::al_regnum, AMD64_NUM_LOWER_BYTE_REGS, gdbarch_tdep::eax_regnum, gdbarch_tdep(), i386_byte_regnum_p(), i386_dword_regnum_p(), i386_pseudo_register_write(), regcache_raw_read(), regcache_raw_write(), register_size(), and regnum.
Referenced by amd64_init_abi().
|
static |
Definition at line 859 of file amd64-tdep.c.
References amd64_classify(), AMD64_INTEGER, AMD64_R8_REGNUM, AMD64_R9_REGNUM, AMD64_RAX_REGNUM, AMD64_RCX_REGNUM, AMD64_RDI_REGNUM, AMD64_RDX_REGNUM, AMD64_RSI_REGNUM, AMD64_SSE, AMD64_SSEUP, AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM, gdb_assert, memset(), offset, regcache_raw_write_part(), regcache_raw_write_unsigned(), regnum, TYPE_LENGTH, value_contents(), value_type(), and write_memory().
Referenced by amd64_push_dummy_call().
|
static |
Definition at line 991 of file amd64-tdep.c.
References amd64_push_arguments(), AMD64_RBP_REGNUM, AMD64_RDI_REGNUM, AMD64_RSP_REGNUM, gdbarch_byte_order(), i387_reset_bnd_regs(), regcache_cooked_write(), store_unsigned_integer(), and write_memory().
Referenced by amd64_init_abi().
|
static |
Definition at line 1775 of file amd64-tdep.c.
References amd64_get_insn_details(), amd64_skip_prefixes(), append_insns(), debug_displaced, extract_signed_integer(), fprintf_unfiltered(), gdb_assert, gdb_buffered_insn_length(), gdb_stdlog, gdbarch_byte_order(), gdbarch_max_insn_length(), hex_string(), memset(), offset, paddress(), read_memory(), rip_relative_offset(), store_signed_integer(), store_unsigned_integer(), and xmalloc().
Referenced by amd64_init_abi().
|
static |
Definition at line 1521 of file amd64-tdep.c.
References amd64_insn::opcode_offset, and amd64_insn::raw_insn.
Referenced by amd64_displaced_step_fixup(), and amd64_insn_is_ret().
|
static |
Definition at line 725 of file amd64-tdep.c.
References amd64_classify(), AMD64_COMPLEX_X87, AMD64_FTAG_REGNUM, AMD64_INTEGER, AMD64_MEMORY, AMD64_NO_CLASS, AMD64_RAX_REGNUM, AMD64_RDX_REGNUM, AMD64_SSE, AMD64_SSEUP, AMD64_ST0_REGNUM, AMD64_ST1_REGNUM, AMD64_X87, AMD64_X87UP, AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM, gdb_assert, i387_return_value(), offset, read_memory(), regcache_raw_read(), regcache_raw_read_part(), regcache_raw_read_unsigned(), regcache_raw_write(), regcache_raw_write_part(), regcache_raw_write_unsigned(), regnum, RETURN_VALUE_ABI_RETURNS_ADDRESS, RETURN_VALUE_REGISTER_CONVENTION, and TYPE_LENGTH.
Referenced by amd64_init_abi().
|
static |
Definition at line 2681 of file amd64-tdep.c.
References amd64_alloc_frame_cache(), AMD64_NUM_SAVED_REGS, AMD64_RSP_REGNUM, amd64_frame_cache::base, amd64_frame_cache::base_p, CATCH, END_CATCH, extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), gdbarch_tdep(), get_frame_arch(), get_frame_register(), NOT_AVAILABLE_ERROR, RETURN_MASK_ERROR, amd64_frame_cache::saved_regs, gdbarch_tdep::sc_num_regs, gdbarch_tdep::sc_reg_offset, gdbarch_tdep::sigcontext_addr, throw_exception(), and TRY.
Referenced by amd64_sigtramp_frame_prev_register(), amd64_sigtramp_frame_this_id(), and amd64_sigtramp_frame_unwind_stop_reason().
|
static |
Definition at line 2753 of file amd64-tdep.c.
References amd64_frame_prev_register(), amd64_sigtramp_frame_cache(), and regnum.
|
static |
Definition at line 2763 of file amd64-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 2735 of file amd64-tdep.c.
References amd64_sigtramp_frame_cache(), amd64_frame_cache::base, amd64_frame_cache::base_p, frame_id_build(), frame_id_build_unavailable_stack(), and get_frame_pc().
|
static |
Definition at line 2722 of file amd64-tdep.c.
References amd64_sigtramp_frame_cache(), and amd64_frame_cache::base_p.
Definition at line 1149 of file amd64-tdep.c.
Referenced by amd64_get_insn_details(), and amd64_relocate_instruction().
Definition at line 2465 of file amd64-tdep.c.
References amd64_analyze_prologue(), amd64_init_frame_cache(), amd64_skip_xmm_prologue(), COMPUNIT_PRODUCER, find_pc_compunit_symtab(), find_pc_partial_function(), amd64_frame_cache::frameless_p, amd64_frame_cache::pc, skip_prologue_using_sal(), and startswith().
Referenced by amd64_init_abi().
Definition at line 2400 of file amd64-tdep.c.
References COMPUNIT_PRODUCER, symtab_and_line::end, find_pc_sect_line(), symtab_and_line::line, offset, symtab_and_line::pc, producer_is_gcc_ge_4(), symtab_and_line::symtab, SYMTAB_COMPUNIT, and target_read_code().
Referenced by amd64_skip_prologue().
Definition at line 2829 of file amd64-tdep.c.
References COMPUNIT_EPILOGUE_UNWIND_VALID, find_pc_compunit_symtab(), and target_read_memory().
Referenced by amd64_epilogue_frame_sniffer().
|
static |
Definition at line 2962 of file amd64-tdep.c.
References amd64_supply_fxsave(), regcache::arch(), gdb_assert, gdbarch_tdep(), regnum, and gdbarch_tdep::sizeof_fpregset.
| void amd64_supply_fxsave | ( | struct regcache * | regcache, |
| int | regnum, | ||
| const void * | fxsave | ||
| ) |
Definition at line 3304 of file amd64-tdep.c.
References regcache::arch(), gdbarch_bfd_arch_info(), gdbarch_tdep(), I387_FISEG_REGNUM, I387_FOSEG_REGNUM, i387_supply_fxsave(), regcache_raw_supply(), regnum, and gdbarch_tdep::regs.
Referenced by amd64_linux_fetch_inferior_registers(), amd64_supply_fpregset(), amd64bsd_fetch_inferior_registers(), i386_darwin_fetch_inferior_registers(), and supply_fpregset().
| void amd64_supply_xsave | ( | struct regcache * | regcache, |
| int | regnum, | ||
| const void * | xsave | ||
| ) |
Definition at line 3327 of file amd64-tdep.c.
References regcache::arch(), gdbarch_bfd_arch_info(), gdbarch_tdep(), I387_FISEG_REGNUM, I387_FOSEG_REGNUM, i387_supply_xsave(), regcache_raw_supply(), regnum, and gdbarch_tdep::regs.
Referenced by amd64_linux_fetch_inferior_registers(), amd64_linux_supply_xstateregset(), amd64bsd_fetch_inferior_registers(), and amd64fbsd_supply_xstateregset().
|
static |
Definition at line 1559 of file amd64-tdep.c.
References amd64_insn::opcode_offset, and amd64_insn::raw_insn.
Referenced by amd64_displaced_step_copy_insn(), and amd64_displaced_step_fixup().
| const struct target_desc* amd64_target_description | ( | uint64_t | xcr0 | ) |
Definition at line 3246 of file amd64-tdep.c.
References amd64_create_target_description(), X86_XSTATE_AVX, X86_XSTATE_AVX512, X86_XSTATE_MPX, and X86_XSTATE_PKRU.
Referenced by _initialize_amd64_tdep(), amd64_dicos_init_abi(), amd64_sol2_init_abi(), amd64_windows_init_abi(), amd64fbsd_core_read_description(), amd64fbsd_init_abi(), amd64fbsd_read_description(), amd64nbsd_init_abi(), amd64obsd_init_abi(), and x86_darwin_init_abi_64().
|
static |
Definition at line 2118 of file amd64-tdep.c.
References amd64_arch_reg_to_regnum(), offset, amd64_frame_cache::pc, amd64_frame_cache::saved_sp_reg, and target_read_memory().
Referenced by amd64_analyze_prologue().
| void amd64_x32_init_abi | ( | struct gdbarch_info | info, |
| struct gdbarch * | gdbarch, | ||
| const target_desc * | default_tdesc | ||
| ) |
Definition at line 3229 of file amd64-tdep.c.
References amd64_init_abi(), amd64_x32_pseudo_register_type(), gdbarch_tdep(), gdbarch_tdep::num_dword_regs, set_gdbarch_long_bit(), set_gdbarch_ptr_bit(), and set_tdesc_pseudo_register_type().
Referenced by amd64_x32_linux_init_abi().
Definition at line 3212 of file amd64-tdep.c.
References AMD64_RBP_REGNUM, AMD64_RIP_REGNUM, AMD64_RSP_REGNUM, builtin_type::builtin_data_ptr, builtin_type::builtin_func_ptr, builtin_type(), gdbarch_tdep::eax_regnum, gdbarch_tdep(), i386_pseudo_register_type(), and regnum.
Referenced by amd64_x32_init_abi().
Definition at line 1768 of file amd64-tdep.c.
References target_write_memory().
Referenced by amd64_relocate_instruction().
|
static |
Definition at line 1396 of file amd64-tdep.c.
References fixup_riprel(), amd64_displaced_step_closure::insn_details, amd64_insn::modrm_offset, and amd64_insn::raw_insn.
Referenced by amd64_displaced_step_copy_insn().
|
static |
Definition at line 1335 of file amd64-tdep.c.
References amd64_arch_reg_to_regnum(), amd64_get_unused_input_int_reg(), debug_displaced, amd64_insn::enc_prefix_offset, fprintf_unfiltered(), gdb_assert_not_reached, gdb_buffered_insn_length(), gdb_stdlog, amd64_displaced_step_closure::insn_buf, amd64_displaced_step_closure::insn_details, amd64_insn::modrm_offset, paddress(), amd64_insn::raw_insn, regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), rex_prefix_p(), amd64_displaced_step_closure::tmp_regno, amd64_displaced_step_closure::tmp_save, amd64_displaced_step_closure::tmp_used, and vex3_prefix_p().
Referenced by fixup_displaced_copy().
|
static |
Definition at line 1123 of file amd64-tdep.c.
Referenced by amd64_get_insn_details(), and fixup_riprel().
|
static |
Definition at line 1751 of file amd64-tdep.c.
References amd64_insn::modrm_offset, and amd64_insn::raw_insn.
Referenced by amd64_relocate_instruction().
|
static |
Definition at line 1131 of file amd64-tdep.c.
Referenced by amd64_get_insn_details().
|
static |
Definition at line 1139 of file amd64-tdep.c.
Referenced by amd64_get_insn_details(), and fixup_riprel().
|
static |
Definition at line 263 of file amd64-tdep.c.
Referenced by amd64_arch_reg_to_regnum().
|
static |
Definition at line 283 of file amd64-tdep.c.
Referenced by amd64_arch_reg_to_regnum().
|
static |
Definition at line 299 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_name().
|
static |
Definition at line 159 of file amd64-tdep.c.
Referenced by amd64_dwarf_reg_to_regnum().
|
static |
Definition at line 238 of file amd64-tdep.c.
Referenced by amd64_dwarf_reg_to_regnum().
|
static |
Definition at line 319 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_name().
|
static |
Definition at line 2928 of file amd64-tdep.c.
Referenced by amd64_init_abi().
| const struct regset amd64_fpregset |
Definition at line 2989 of file amd64-tdep.c.
Referenced by amd64_init_abi(), amd64_linux_iterate_over_regset_sections(), and amd64fbsd_iterate_over_regset_sections().
|
static |
Definition at line 2812 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 2647 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 115 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 110 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 152 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 3026 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 60 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 2792 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 311 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_name().
|
static |
Definition at line 145 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 86 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_name().
|
static |
Definition at line 78 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_name().
|
static |
Definition at line 102 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 94 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 133 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_name().
|
static |
Definition at line 121 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 1074 of file amd64-tdep.c.
Referenced by amd64_get_insn_details().
|
static |
Definition at line 1097 of file amd64-tdep.c.
Referenced by amd64_get_insn_details().
1.8.14