OSDN Git Service

* opcode/i386.h: Add multiple inclusion protection.
authordevans <devans>
Thu, 29 Jan 2009 00:29:53 +0000 (00:29 +0000)
committerdevans <devans>
Thu, 29 Jan 2009 00:29:53 +0000 (00:29 +0000)
commitd683c61690218f6a57f0cc58703a62fc52d33303
treed33c9c21f9f70b3ebf591cd2d00d43e35a49e302
parent3c8b9d3e8f583770d211055cdc33b9f2a148d555
* opcode/i386.h: Add multiple inclusion protection.
(EAX_REG_NUM,ECX_REG_NUM,EDX_REGNUM,EBX_REG_NUM,ESI_REG_NUM)
(EDI_REG_NUM): New macros.
(MODRM_MOD_FIELD,MODRM_REG_FIELD,MODRM_RM_FIELD): New macros.
(SIB_SCALE_FIELD,SIB_INDEX_FIELD,SIB_BASE_FIELD): New macros.
(REG_PREFIX_P): New macro.

* amd64-tdep.h (amd64_displaced_step_copy_insn): Declare.
(amd64_displaced_step_fixup): Declare.
* amd64-tdep.c: #include opcode/i386.h, dis-asm.h.
(amd64_arch_regmap): Move out of amd64_analyze_stack_align
and make static global.
(amd64_arch_regmap_len): New static global.
(amd64_arch_reg_to_regnum): New function.
(struct amd64_insn): New struct.
(struct displaced_step_closure): New struct.
(onebyte_has_modrm,twobyte_has_modrm): New static globals.
(rex_prefix_p,skip_prefixes)
(amd64_insn_length_fprintf,amd64_insn_length_init_dis)
(amd64_insn_length,amd64_get_unused_input_int_reg)
(amd64_get_insn_details,fixup_riprel,fixup_displaced_copy)
(amd64_displaced_step_copy_insn)
(amd64_absolute_jmp_p,amd64_absolute_call_p,amd64_ret_p)
(amd64_call_p,amd64_breakpoint_p,amd64_syscall_p)
(amd64_displaced_step_fixup): New functions.
* amd64-linux-tdep.c: #include arch-utils.h.
(amd64_linux_init_abi): Install displaced stepping support.

* gdb.arch/amd64-disp-step.S: New file.
* gdb.arch/amd64-disp-step.exp: New file.
* gdb.arch/i386-disp-step.S: New file.
* gdb.arch/i386-disp-step.exp: New file.
gdb/ChangeLog
gdb/amd64-linux-tdep.c
gdb/amd64-tdep.c
gdb/amd64-tdep.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/amd64-disp-step.S [new file with mode: 0644]
gdb/testsuite/gdb.arch/amd64-disp-step.exp [new file with mode: 0644]
gdb/testsuite/gdb.arch/i386-disp-step.S [new file with mode: 0644]
gdb/testsuite/gdb.arch/i386-disp-step.exp [new file with mode: 0644]
include/opcode/ChangeLog
include/opcode/i386.h