Search
lxdream.org :: lxdream/src/sh4/ia64abi.h :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/ia64abi.h
changeset 596:dfc0c93d882e
prev590:4db6a084ca3c
next599:2a73a1a53032
author nkeynes
date Mon Jan 21 11:59:46 2008 +0000 (12 years ago)
permissions -rw-r--r--
last change Fix MAC.L/MAC.W stack issues
Fix various recovery-table issues
file annotate diff log raw
1.1 --- a/src/sh4/ia64abi.h Wed Jan 16 09:39:16 2008 +0000
1.2 +++ b/src/sh4/ia64abi.h Mon Jan 21 11:59:46 2008 +0000
1.3 @@ -239,8 +239,12 @@
1.4 for( i=0; i< sh4_x86.backpatch_posn; i++ ) {
1.5 *sh4_x86.backpatch_list[i].fixup_addr =
1.6 xlat_output - ((uint8_t *)sh4_x86.backpatch_list[i].fixup_addr) - 4;
1.7 - if( sh4_x86.backpatch_list[i].exc_code == -1 ) {
1.8 + if( sh4_x86.backpatch_list[i].exc_code < 0 ) {
1.9 load_imm32( R_EDX, sh4_x86.backpatch_list[i].fixup_icount );
1.10 + int stack_adj = -1 - sh4_x86.backpatch_list[i].exc_code;
1.11 + if( stack_adj > 0 ) {
1.12 + ADD_imm8s_r32( stack_adj, R_ESP );
1.13 + }
1.14 int rel = preexc_ptr - xlat_output;
1.15 JMP_rel(rel);
1.16 } else {
.