Commit fa15e030bfd9dfa00530ed1a0d5d9d315a5a591a
1 parent
1ef38687
64 bit disas fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1260 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
7 additions
and
9 deletions
disas.c
| ... | ... | @@ -148,11 +148,7 @@ void target_disas(FILE *out, target_ulong code, target_ulong size, int flags) |
| 148 | 148 | #endif |
| 149 | 149 | |
| 150 | 150 | for (pc = code; pc < code + size; pc += count) { |
| 151 | -#if TARGET_LONG_BITS == 64 | |
| 152 | - fprintf(out, "0x%016llx: ", pc); | |
| 153 | -#else | |
| 154 | - fprintf(out, "0x%08x: ", pc); | |
| 155 | -#endif | |
| 151 | + fprintf(out, "0x" TARGET_FMT_lx ": ", pc); | |
| 156 | 152 | count = print_insn(pc, &disasm_info); |
| 157 | 153 | #if 0 |
| 158 | 154 | { |
| ... | ... | @@ -301,10 +297,12 @@ void monitor_disas(target_ulong pc, int nb_insn, int is_physical, int flags) |
| 301 | 297 | disasm_info.endian = BFD_ENDIAN_LITTLE; |
| 302 | 298 | #endif |
| 303 | 299 | #if defined(TARGET_I386) |
| 304 | - if (!flags) | |
| 305 | - disasm_info.mach = bfd_mach_i386_i386; | |
| 306 | - else | |
| 300 | + if (flags == 2) | |
| 301 | + disasm_info.mach = bfd_mach_x86_64; | |
| 302 | + else if (flags == 1) | |
| 307 | 303 | disasm_info.mach = bfd_mach_i386_i8086; |
| 304 | + else | |
| 305 | + disasm_info.mach = bfd_mach_i386_i386; | |
| 308 | 306 | print_insn = print_insn_i386; |
| 309 | 307 | #elif defined(TARGET_ARM) |
| 310 | 308 | print_insn = print_insn_arm; |
| ... | ... | @@ -318,7 +316,7 @@ void monitor_disas(target_ulong pc, int nb_insn, int is_physical, int flags) |
| 318 | 316 | #endif |
| 319 | 317 | |
| 320 | 318 | for(i = 0; i < nb_insn; i++) { |
| 321 | - term_printf("0x%08lx: ", (unsigned long)pc); | |
| 319 | + term_printf("0x" TARGET_FMT_lx ": ", pc); | |
| 322 | 320 | count = print_insn(pc, &disasm_info); |
| 323 | 321 | term_printf("\n"); |
| 324 | 322 | if (count < 0) | ... | ... |