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 "features/i386/amd64.c"
#include "features/i386/amd64-avx.c"
#include "features/i386/amd64-mpx.c"
#include "features/i386/amd64-avx512.c"
#include "features/i386/x32.c"
#include "features/i386/x32-avx.c"
#include "features/i386/x32-avx512.c"
#include "ax.h"
#include "ax-gdb.h"
Go to the source code of this file.
Classes | |
struct | amd64_insn |
struct | 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 } |
#define AMD64_NUM_LOWER_BYTE_REGS 16 |
Definition at line 310 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_read_value(), and amd64_pseudo_register_write().
#define AMD64_NUM_SAVED_REGS AMD64_NUM_GREGS |
Definition at line 1802 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 464 of file amd64-tdep.c.
void _initialize_amd64_tdep | ( | void | ) |
Definition at line 3147 of file amd64-tdep.c.
References initialize_tdesc_amd64(), initialize_tdesc_amd64_avx(), initialize_tdesc_amd64_avx512(), initialize_tdesc_amd64_mpx(), initialize_tdesc_x32(), initialize_tdesc_x32_avx(), and initialize_tdesc_x32_avx512().
|
static |
Definition at line 1435 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 1398 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 1851 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 2216 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 1867 of file amd64-tdep.c.
References amd64_arch_reg_to_regnum(), min, offset, amd64_frame_cache::pc, amd64_frame_cache::saved_sp_reg, and target_read_code().
Referenced by amd64_analyze_prologue().
Definition at line 293 of file amd64-tdep.c.
References gdb_assert.
Referenced by amd64_analyze_stack_align(), amd64_x32_analyze_stack_align(), and fixup_riprel().
|
static |
Definition at line 1474 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 634 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, len, 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_REF, TYPE_CODE_STRUCT, TYPE_CODE_UNION, and TYPE_LENGTH.
Referenced by amd64_classify_aggregate(), amd64_push_arguments(), and amd64_return_value().
|
static |
Definition at line 531 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 1509 of file amd64-tdep.c.
References amd64_get_insn_details(), gdbarch_max_insn_length(), len, and read_code().
Referenced by amd64_insn_is_call(), amd64_insn_is_jump(), and amd64_insn_is_ret().
|
static |
Definition at line 2878 of file amd64-tdep.c.
References amd64_collect_fxsave(), gdb_assert, gdbarch_tdep(), get_regcache_arch(), and gdbarch_tdep::sizeof_fpregset.
Definition at line 3224 of file amd64-tdep.c.
References gdbarch_bfd_arch_info(), gdbarch_tdep(), get_regcache_arch(), i387_collect_fxsave(), I387_FISEG_REGNUM, I387_FOSEG_REGNUM, regcache_raw_collect(), 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().
Definition at line 3245 of file amd64-tdep.c.
References gdbarch_bfd_arch_info(), gdbarch_tdep(), get_regcache_arch(), i387_collect_xsave(), I387_FISEG_REGNUM, I387_FOSEG_REGNUM, regcache_raw_collect(), 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 1346 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(), displaced_step_closure::insn_buf, displaced_step_closure::insn_details, len, displaced_step_closure::max_len, amd64_insn::opcode_offset, paddress(), read_memory(), displaced_step_closure::tmp_used, write_memory(), and xmalloc().
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 1555 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(), from, gdb_stdlog, gdbarch_byte_order(), displaced_step_closure::insn_buf, displaced_step_closure::insn_details, paddress(), read_memory_unsigned_integer(), regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), displaced_step_closure::tmp_regno, displaced_step_closure::tmp_save, displaced_step_closure::tmp_used, and write_memory_unsigned_integer().
Referenced by amd64_linux_init_abi_common().
|
static |
Definition at line 2839 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().
Definition at line 246 of file amd64-tdep.c.
References _, amd64_dwarf_regmap, amd64_dwarf_regmap_len, gdbarch_tdep(), i386_xmm_regnum_p(), I387_XMM0_REGNUM, regnum, warning(), and gdbarch_tdep::ymm0_regnum.
Referenced by amd64_init_abi().
|
static |
Definition at line 2760 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 2748 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 2815 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 2802 of file amd64-tdep.c.
References amd64_epilogue_frame_cache(), and amd64_frame_cache::base_p.
Definition at line 2851 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 2704 of file amd64-tdep.c.
References amd64_frame_cache(), and amd64_frame_cache::base.
|
static |
Definition at line 2468 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 2399 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 2528 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(), amd64_frame_cache::saved_regs, and amd64_frame_cache::saved_sp.
Referenced by amd64_sigtramp_frame_prev_register().
|
static |
Definition at line 2510 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 2493 of file amd64-tdep.c.
References amd64_frame_cache(), amd64_frame_cache::base, and amd64_frame_cache::base_p.
|
static |
Definition at line 2560 of file amd64-tdep.c.
References AMD64_RBP_REGNUM, AMD64_RIP_REGNUM, ax_const_l(), ax_reg(), ax_simple(), axs_lvalue_memory, axs_value::kind, register_type(), and axs_value::type.
Referenced by amd64_init_abi().
|
static |
Definition at line 1204 of file amd64-tdep.c.
References amd64_skip_prefixes(), amd64_insn::modrm_offset, amd64_insn::opcode_len, amd64_insn::opcode_offset, amd64_insn::raw_insn, amd64_insn::rex_offset, and rex_prefix_p().
Referenced by amd64_classify_insn_at(), amd64_displaced_step_copy_insn(), and amd64_relocate_instruction().
|
static |
Definition at line 2902 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, len, target_read_memory(), and TYPE_LENGTH.
Referenced by amd64_init_abi().
|
static |
Definition at line 1135 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 | ||
) |
Definition at line 2937 of file amd64-tdep.c.
References AMD64_BND0R_REGNUM, AMD64_BNDCFGU_REGNUM, amd64_dummy_id(), amd64_dwarf_reg_to_regnum(), AMD64_EFLAGS_REGNUM, amd64_fpregset, amd64_frame_align(), amd64_gen_return_address(), amd64_get_longjmp_target(), 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_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_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_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::record_regmap, gdbarch_tdep::register_names, 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_tdep::tdesc, tdesc_amd64, tdesc_find_feature(), tdesc_has_registers(), 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 1824 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 1530 of file amd64-tdep.c.
References amd64_call_p(), and amd64_classify_insn_at().
Referenced by amd64_init_abi().
Definition at line 1546 of file amd64-tdep.c.
References amd64_classify_insn_at(), and amd64_jmp_p().
Referenced by amd64_init_abi().
Definition at line 1538 of file amd64-tdep.c.
References amd64_classify_insn_at(), and amd64_ret_p().
Referenced by amd64_init_abi().
|
static |
Definition at line 1419 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 480 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().
Definition at line 517 of file amd64-tdep.c.
References TYPE_CODE, TYPE_CODE_STRUCT, and TYPE_N_BASECLASSES.
Referenced by amd64_classify_aggregate().
Definition at line 332 of file amd64-tdep.c.
References gdbarch_tdep::al_regnum, 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(), gdbarch_tdep::ymm0_regnum, gdbarch_tdep::ymm16_regnum, and gdbarch_tdep::zmm0_regnum.
Referenced by amd64_init_abi().
|
static |
Definition at line 352 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(), MAX_REGISTER_SIZE, REG_VALID, regcache_raw_read(), 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 413 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(), MAX_REGISTER_SIZE, regcache_raw_read(), and regcache_raw_write().
Referenced by amd64_init_abi().
|
static |
Definition at line 833 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, len, min, 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 965 of file amd64-tdep.c.
References amd64_push_arguments(), AMD64_RBP_REGNUM, AMD64_RDI_REGNUM, AMD64_RSP_REGNUM, gdbarch_byte_order(), regcache_cooked_write(), store_unsigned_integer(), and write_memory().
Referenced by amd64_init_abi().
|
static |
Definition at line 1707 of file amd64-tdep.c.
References amd64_get_insn_details(), amd64_skip_prefixes(), append_insns(), debug_displaced, extract_signed_integer(), fprintf_unfiltered(), gdb_buffered_insn_length(), gdb_stdlog, gdbarch_byte_order(), gdbarch_max_insn_length(), hex_string(), len, offset, paddress(), read_memory(), rip_relative_offset(), store_signed_integer(), store_unsigned_integer(), to, and xmalloc().
Referenced by amd64_init_abi().
|
static |
Definition at line 1454 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 699 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(), len, min, 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 2581 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 2653 of file amd64-tdep.c.
References amd64_frame_prev_register(), and amd64_sigtramp_frame_cache().
|
static |
Definition at line 2663 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 2635 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 2622 of file amd64-tdep.c.
References amd64_sigtramp_frame_cache(), and amd64_frame_cache::base_p.
Definition at line 1099 of file amd64-tdep.c.
Referenced by amd64_get_insn_details(), and amd64_relocate_instruction().
Definition at line 2365 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, max, amd64_frame_cache::pc, skip_prologue_using_sal(), and startswith().
Referenced by amd64_init_abi().
Definition at line 2300 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 2729 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 2862 of file amd64-tdep.c.
References amd64_supply_fxsave(), gdb_assert, gdbarch_tdep(), get_regcache_arch(), and gdbarch_tdep::sizeof_fpregset.
Definition at line 3173 of file amd64-tdep.c.
References gdbarch_bfd_arch_info(), gdbarch_tdep(), get_regcache_arch(), I387_FISEG_REGNUM, I387_FOSEG_REGNUM, i387_supply_fxsave(), regcache_raw_supply(), and gdbarch_tdep::regs.
Referenced by amd64_linux_fetch_inferior_registers(), amd64_supply_fpregset(), amd64bsd_fetch_inferior_registers(), amd64obsd_supply_regset(), i386_darwin_fetch_inferior_registers(), and supply_fpregset().
Definition at line 3196 of file amd64-tdep.c.
References gdbarch_bfd_arch_info(), gdbarch_tdep(), get_regcache_arch(), I387_FISEG_REGNUM, I387_FOSEG_REGNUM, i387_supply_xsave(), regcache_raw_supply(), 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 1492 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 3127 of file amd64-tdep.c.
References tdesc_amd64, tdesc_amd64_avx, tdesc_amd64_avx512, tdesc_amd64_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_core_read_description(), and amd64fbsd_read_description().
|
static |
Definition at line 2018 of file amd64-tdep.c.
References amd64_arch_reg_to_regnum(), min, 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 | ||
) |
Definition at line 3106 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(), set_tdesc_pseudo_register_type(), gdbarch_info::target_desc, gdbarch_tdep::tdesc, tdesc_has_registers(), and tdesc_x32.
Referenced by amd64_x32_linux_init_abi().
Definition at line 3089 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(), and i386_pseudo_register_type().
Referenced by amd64_x32_init_abi().
Definition at line 1700 of file amd64-tdep.c.
References len, and target_write_memory().
Referenced by amd64_relocate_instruction().
|
static |
Definition at line 1326 of file amd64-tdep.c.
References fixup_riprel(), 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 1274 of file amd64-tdep.c.
References amd64_arch_reg_to_regnum(), amd64_get_unused_input_int_reg(), debug_displaced, extract_signed_integer(), fprintf_unfiltered(), gdb_buffered_insn_length(), gdb_stdlog, gdbarch_byte_order(), displaced_step_closure::insn_buf, displaced_step_closure::insn_details, displaced_step_closure::max_len, amd64_insn::modrm_offset, paddress(), amd64_insn::raw_insn, regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), amd64_insn::rex_offset, displaced_step_closure::tmp_regno, displaced_step_closure::tmp_save, and displaced_step_closure::tmp_used.
Referenced by fixup_displaced_copy().
Definition at line 1089 of file amd64-tdep.c.
Referenced by amd64_get_insn_details().
|
static |
Definition at line 1683 of file amd64-tdep.c.
References amd64_insn::modrm_offset, and amd64_insn::raw_insn.
Referenced by amd64_relocate_instruction().
Definition at line 266 of file amd64-tdep.c.
Definition at line 286 of file amd64-tdep.c.
|
static |
Definition at line 302 of file amd64-tdep.c.
|
static |
Definition at line 160 of file amd64-tdep.c.
Referenced by amd64_dwarf_reg_to_regnum().
Definition at line 239 of file amd64-tdep.c.
Referenced by amd64_dwarf_reg_to_regnum().
|
static |
Definition at line 322 of file amd64-tdep.c.
|
static |
Definition at line 2828 of file amd64-tdep.c.
Definition at line 2889 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 2712 of file amd64-tdep.c.
|
static |
Definition at line 2547 of file amd64-tdep.c.
|
static |
Definition at line 120 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().
Definition at line 2926 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 65 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 2692 of file amd64-tdep.c.
|
static |
Definition at line 314 of file amd64-tdep.c.
|
static |
Definition at line 150 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 91 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_name().
|
static |
Definition at line 83 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_name().
|
static |
Definition at line 107 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 99 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 138 of file amd64-tdep.c.
Referenced by amd64_pseudo_register_name().
|
static |
Definition at line 126 of file amd64-tdep.c.
Referenced by amd64_init_abi().
|
static |
Definition at line 1040 of file amd64-tdep.c.
|
static |
Definition at line 1063 of file amd64-tdep.c.