Search
lxdream.org :: lxdream/src/sh4/sh4x86.in :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/sh4x86.in
changeset 1092:7c4ffe27e7b5
prev1091:186558374345
next1112:4cac5e474d4c
author nkeynes
date Sun Dec 20 21:01:03 2009 +1000 (10 years ago)
permissions -rw-r--r--
last change Fix 64-bit x86 disassembly
Add crash-report hook to SIGILL and SIGBUS
file annotate diff log raw
1.1 --- a/src/sh4/sh4x86.in Tue Dec 15 08:46:37 2009 +1000
1.2 +++ b/src/sh4/sh4x86.in Sun Dec 20 21:01:03 2009 +1000
1.3 @@ -163,13 +163,17 @@
1.4 uint32_t source_pc = source_start;
1.5 uint32_t source_end = source_pc;
1.6 xlat_recovery_record_t source_recov_table = XLAT_RECOVERY_TABLE(code);
1.7 - xlat_recovery_record_t source_recov_end = source_recov_table + XLAT_BLOCK_FOR_CODE(code)->recover_table_size;
1.8 + xlat_recovery_record_t source_recov_end = source_recov_table + XLAT_BLOCK_FOR_CODE(code)->recover_table_size - 1;
1.9
1.10 for( target_pc = target_start; target_pc < target_end; ) {
1.11 uintptr_t pc2 = x86_disasm_instruction( target_pc, buf, sizeof(buf), op );
1.12 - fprintf( out, "%c%08X: %-20s %-40s", (target_pc == (uintptr_t)native_pc ? '*' : ' '),
1.13 - (unsigned int)target_pc, op, buf );
1.14 -
1.15 +#if SIZEOF_VOID_P == 8
1.16 + fprintf( out, "%c%016lx: %-30s %-40s", (target_pc == (uintptr_t)native_pc ? '*' : ' '),
1.17 + target_pc, op, buf );
1.18 +#else
1.19 + fprintf( out, "%c%08x: %-30s %-40s", (target_pc == (uintptr_t)native_pc ? '*' : ' '),
1.20 + target_pc, op, buf );
1.21 +#endif
1.22 if( source_recov_table < source_recov_end &&
1.23 target_pc >= (target_start + source_recov_table->xlat_offset) ) {
1.24 source_recov_table++;
.