Search
lxdream.org :: lxdream/src/sh4/ia64abi.h :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/ia64abi.h
changeset 604:1024c3a9cb88
prev599:2a73a1a53032
next605:6ecdb604306b
author nkeynes
date Tue Jan 22 11:30:37 2008 +0000 (12 years ago)
permissions -rw-r--r--
last change Fix backpatching when the block moves during translation
file annotate diff log raw
1.1 --- a/src/sh4/ia64abi.h Tue Jan 22 10:08:08 2008 +0000
1.2 +++ b/src/sh4/ia64abi.h Tue Jan 22 11:30:37 2008 +0000
1.3 @@ -237,8 +237,8 @@
1.4 RET();
1.5
1.6 for( i=0; i< sh4_x86.backpatch_posn; i++ ) {
1.7 - *sh4_x86.backpatch_list[i].fixup_addr =
1.8 - xlat_output - ((uint8_t *)sh4_x86.backpatch_list[i].fixup_addr) - 4;
1.9 + uint32_t *fixup_addr = (uint32_t *)&xlat_current_block->code[sh4_x86.backpatch_list[i].fixup_offset];
1.10 + *fixup_addr = xlat_output - (uint8_t *)&xlat_current_block->code[sh4_x86.backpatch_list[i].fixup_offset] - 4;
1.11 if( sh4_x86.backpatch_list[i].exc_code < 0 ) {
1.12 load_imm32( R_EDX, sh4_x86.backpatch_list[i].fixup_icount );
1.13 int stack_adj = -1 - sh4_x86.backpatch_list[i].exc_code;
.