x86_64 support for host_dasm

This commit is contained in:
notaz 2017-12-11 02:51:29 +02:00
parent f287890d65
commit 21082d0b2b

View file

@ -27,11 +27,17 @@ static struct disassemble_info di;
#define BFD_ARCH bfd_arch_arm #define BFD_ARCH bfd_arch_arm
#define BFD_MACH bfd_mach_arm_unknown #define BFD_MACH bfd_mach_arm_unknown
#define DASM_OPTS "reg-names-std" #define DASM_OPTS "reg-names-std"
#else #elif defined(__x86_64__) || defined(__i386__)
#define print_insn_func print_insn_i386_intel #define print_insn_func print_insn_i386_intel
#define BFD_ARCH bfd_arch_i386 #define BFD_ARCH bfd_arch_i386
#ifdef __x86_64__
#define BFD_MACH bfd_mach_x86_64_intel_syntax
#else
#define BFD_MACH bfd_mach_i386_i386_intel_syntax #define BFD_MACH bfd_mach_i386_i386_intel_syntax
#endif
#define DASM_OPTS NULL #define DASM_OPTS NULL
#else
#error "missing arch support"
#endif #endif
/* symbols */ /* symbols */
@ -134,7 +140,7 @@ static int
dis_asm_read_memory(bfd_vma memaddr, bfd_byte *myaddr, unsigned int len, dis_asm_read_memory(bfd_vma memaddr, bfd_byte *myaddr, unsigned int len,
struct disassemble_info *info) struct disassemble_info *info)
{ {
memcpy(myaddr, (void *)(int)memaddr, len); memcpy(myaddr, (void *)(long)memaddr, len);
return 0; return 0;
} }
@ -142,7 +148,7 @@ static void
dis_asm_memory_error(int status, bfd_vma memaddr, dis_asm_memory_error(int status, bfd_vma memaddr,
struct disassemble_info *info) struct disassemble_info *info)
{ {
fprintf(stderr, "memory_error %p\n", (void *)(int)memaddr); fprintf(stderr, "memory_error %p\n", (void *)(long)memaddr);
} }
static void static void