diff options
author | David Guillen Fandos | 2021-02-10 02:46:45 +0100 |
---|---|---|
committer | David Guillen Fandos | 2021-02-10 02:46:45 +0100 |
commit | 7aaa280b9f41ad4e5d29f6471a0a814888b12485 (patch) | |
tree | 4e3608ab8620409e01fc588d4bc0ff7dc181420e /arm | |
parent | f70d8534a1da41376dd96edffe87cbb04cccd683 (diff) | |
download | picogpsp-7aaa280b9f41ad4e5d29f6471a0a814888b12485.tar.gz picogpsp-7aaa280b9f41ad4e5d29f6471a0a814888b12485.tar.bz2 picogpsp-7aaa280b9f41ad4e5d29f6471a0a814888b12485.zip |
Fix ARM dynarec
Turns out there were a couple of very interesting and hard to track
bugs. A missing comma made the reg list too short, leaving the 31th
element at the mercy of the linker ordering algorithm, which seems to
work in some cases depending on the compiler version.
Also the cache flush code seemed not to work on my machine (OGA),
not sure why it wored in the past :/
Diffstat (limited to 'arm')
-rw-r--r-- | arm/arm_emit.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arm/arm_emit.h b/arm/arm_emit.h index eb48aa2..e29755e 100644 --- a/arm/arm_emit.h +++ b/arm/arm_emit.h @@ -174,7 +174,7 @@ s32 arm_register_allocation[] = reg_x4, /* GBA r12 */ mem_reg, /* GBA r13 */ reg_x5, /* GBA r14 */ - reg_a0 /* GBA r15 */ + mem_reg, /* GBA r15 */ mem_reg, mem_reg, @@ -211,7 +211,7 @@ s32 thumb_register_allocation[] = mem_reg, /* GBA r12 */ mem_reg, /* GBA r13 */ mem_reg, /* GBA r14 */ - reg_a0 /* GBA r15 */ + mem_reg, /* GBA r15 */ mem_reg, mem_reg, |