diff options
author | notaz | 2017-05-03 02:52:15 +0300 |
---|---|---|
committer | notaz | 2017-05-03 02:52:15 +0300 |
commit | 0e4ad31902f206e2c6945632bb1f558eae941ff1 (patch) | |
tree | 81435eaaac3be5d685132259f79794fb556bd431 /libpcsxcore | |
parent | 25e52b2c51afd3609aa2a0e218036d27520af510 (diff) | |
download | pcsx_rearmed-0e4ad31902f206e2c6945632bb1f558eae941ff1.tar.gz pcsx_rearmed-0e4ad31902f206e2c6945632bb1f558eae941ff1.tar.bz2 pcsx_rearmed-0e4ad31902f206e2c6945632bb1f558eae941ff1.zip |
use pc-relative offsets for PIC too
Diffstat (limited to 'libpcsxcore')
-rw-r--r-- | libpcsxcore/new_dynarec/linkage_arm.S | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libpcsxcore/new_dynarec/linkage_arm.S b/libpcsxcore/new_dynarec/linkage_arm.S index 147b0df..d32dc0b 100644 --- a/libpcsxcore/new_dynarec/linkage_arm.S +++ b/libpcsxcore/new_dynarec/linkage_arm.S @@ -93,7 +93,7 @@ DRC_VAR(restore_candidate, 512) DRC_VAR(FCR0, 4) DRC_VAR(FCR31, 4) -#ifdef __MACH__ +#ifdef TEXRELS_FORBIDDEN .data .align 2 ptr_jump_in: @@ -117,21 +117,21 @@ ptr_hash_table: #endif .macro load_varadr reg var -#if defined(HAVE_ARMV7) && !defined(__PIC__) - movw \reg, #:lower16:\var - movt \reg, #:upper16:\var -#elif defined(HAVE_ARMV7) && defined(__MACH__) +#if defined(HAVE_ARMV7) && defined(TEXRELS_FORBIDDEN) movw \reg, #:lower16:(\var-(1678f+8)) movt \reg, #:upper16:(\var-(1678f+8)) 1678: add \reg, pc +#elif defined(HAVE_ARMV7) && !defined(__PIC__) + movw \reg, #:lower16:\var + movt \reg, #:upper16:\var #else ldr \reg, =\var #endif .endm .macro load_varadr_ext reg var -#if defined(HAVE_ARMV7) && defined(__MACH__) && defined(__PIC__) +#if defined(HAVE_ARMV7) && defined(TEXRELS_FORBIDDEN) movw \reg, #:lower16:(ptr_\var-(1678f+8)) movt \reg, #:upper16:(ptr_\var-(1678f+8)) 1678: |