diff options
| author | ptitSeb <seebastien.chev@gmail.com> | 2023-09-02 12:45:59 +0200 |
|---|---|---|
| committer | ptitSeb <seebastien.chev@gmail.com> | 2023-09-02 12:45:59 +0200 |
| commit | 646770ff68d9538e7d89a904ebbb04dc32471284 (patch) | |
| tree | f2f6a1d377e1ec3f584c80a4507960f6aaa38257 /src/dynarec | |
| parent | 90ad1653590dab359d1b8acb41faccd3c8039a0c (diff) | |
| download | box64-646770ff68d9538e7d89a904ebbb04dc32471284.tar.gz box64-646770ff68d9538e7d89a904ebbb04dc32471284.zip | |
[ANDROID] More change to android/dynarec build
Diffstat (limited to 'src/dynarec')
| -rw-r--r-- | src/dynarec/dynablock.c | 9 | ||||
| -rw-r--r-- | src/dynarec/dynarec.c | 4 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/dynarec/dynablock.c b/src/dynarec/dynablock.c index 2113bd2d..d95fb829 100644 --- a/src/dynarec/dynablock.c +++ b/src/dynarec/dynablock.c @@ -172,10 +172,15 @@ dynablock_t *AddNewDynablock(uintptr_t addr) //TODO: move this to dynrec_arm.c and track allocated structure to avoid memory leak static __thread JUMPBUFF dynarec_jmpbuf; +#ifdef ANDROID +#define DYN_JMPBUF dynarec_jmpbuf +#else +#define DYN_JMPBUF &dynarec_jmpbuf +#endif void cancelFillBlock() { - longjmp(&dynarec_jmpbuf, 1); + longjmp(DYN_JMPBUF, 1); } /* @@ -208,7 +213,7 @@ static dynablock_t* internalDBGetBlock(x64emu_t* emu, uintptr_t addr, uintptr_t // fill the block block->x64_addr = (void*)addr; - if(sigsetjmp(&dynarec_jmpbuf, 1)) { + if(sigsetjmp(DYN_JMPBUF, 1)) { printf_log(LOG_INFO, "FillBlock at %p triggered a segfault, canceling\n", (void*)addr); FreeDynablock(block, 0); if(need_lock) diff --git a/src/dynarec/dynarec.c b/src/dynarec/dynarec.c index a0084a8e..9416352d 100644 --- a/src/dynarec/dynarec.c +++ b/src/dynarec/dynarec.c @@ -103,7 +103,11 @@ void DynaCall(x64emu_t* emu, uintptr_t addr) void DynaRun(x64emu_t* emu) { // prepare setjump for signal handling + #ifdef ANDROID + JUMPBUFF jmpbuf = {0}; + #else JUMPBUFF jmpbuf[1] = {0}; + #endif int skip = 0; JUMPBUFF *old_jmpbuf = emu->jmpbuf; emu->flags.jmpbuf_ready = 0; |