diff options
author | notaz | 2016-09-19 02:40:17 +0300 |
---|---|---|
committer | notaz | 2016-09-19 02:43:55 +0300 |
commit | d148d26560527efdd71685df8eac0497827ca766 (patch) | |
tree | 46a2775848ca37860515062b3a383632ae0acb2b /libpcsxcore/new_dynarec/linkage_arm.S | |
parent | 1fedf1ea555e4a6be68dd0ba384909ac21da65d0 (diff) | |
download | pcsx_rearmed-d148d26560527efdd71685df8eac0497827ca766.tar.gz pcsx_rearmed-d148d26560527efdd71685df8eac0497827ca766.tar.bz2 pcsx_rearmed-d148d26560527efdd71685df8eac0497827ca766.zip |
drc: try to support w^x platforms like iOS
untested...
Diffstat (limited to 'libpcsxcore/new_dynarec/linkage_arm.S')
-rw-r--r-- | libpcsxcore/new_dynarec/linkage_arm.S | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libpcsxcore/new_dynarec/linkage_arm.S b/libpcsxcore/new_dynarec/linkage_arm.S index 95af8b4..147b0df 100644 --- a/libpcsxcore/new_dynarec/linkage_arm.S +++ b/libpcsxcore/new_dynarec/linkage_arm.S @@ -20,6 +20,7 @@ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #include "arm_features.h" +#include "new_dynarec_config.h" #include "linkage_offsets.h" @@ -160,9 +161,10 @@ ptr_hash_table: #endif .endm +/* r0 = virtual target address */ +/* r1 = instruction to patch */ .macro dyna_linker_main - /* r0 = virtual target address */ - /* r1 = instruction to patch */ +#ifndef NO_WRITE_EXEC load_varadr_ext r3, jump_in /* get_page */ lsr r2, r0, #12 @@ -242,6 +244,11 @@ ptr_hash_table: str r3, [r6, #12] mov pc, r1 8: +#else + /* XXX: should be able to do better than this... */ + bl get_addr_ht + mov pc, r0 +#endif .endm |