notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix various fPIC issues
[pcsx_rearmed.git]
/
libpcsxcore
/
new_dynarec
/
linkage_arm.S
diff --git
a/libpcsxcore/new_dynarec/linkage_arm.s
b/libpcsxcore/new_dynarec/linkage_arm.S
similarity index 99%
rename from
libpcsxcore/new_dynarec/linkage_arm.s
rename to
libpcsxcore/new_dynarec/linkage_arm.S
index
bd5a03d
..
4748078
100644
(file)
--- a/
libpcsxcore/new_dynarec/linkage_arm.s
+++ b/
libpcsxcore/new_dynarec/linkage_arm.S
@@
-19,8
+19,6
@@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* .equiv HAVE_ARMV7, 1 */
-
.global dynarec_local
.global reg
.global hi
.global dynarec_local
.global reg
.global hi
@@
-165,33
+163,33
@@
FCR31 = align0
.type FCR31, %object
.size FCR31, 4
.type FCR31, %object
.size FCR31, 4
-.macro load_var
_
adr reg var
-.if HAVE_ARMV7
+.macro load_varadr reg var
+#if defined(__ARM_ARCH_7A__) && !defined(__PIC__)
movw \reg, #:lower16:\var
movt \reg, #:upper16:\var
movw \reg, #:lower16:\var
movt \reg, #:upper16:\var
-
.
else
+
#
else
ldr \reg, =\var
ldr \reg, =\var
-
.
endif
+
#
endif
.endm
.macro mov_16 reg imm
.endm
.macro mov_16 reg imm
-.if HAVE_ARMV7
+#ifdef __ARM_ARCH_7A__
movw \reg, #\imm
movw \reg, #\imm
-
.
else
+
#
else
mov \reg, #(\imm & 0x00ff)
orr \reg, #(\imm & 0xff00)
mov \reg, #(\imm & 0x00ff)
orr \reg, #(\imm & 0xff00)
-
.
endif
+
#
endif
.endm
.macro mov_24 reg imm
.endm
.macro mov_24 reg imm
-.if HAVE_ARMV7
+#ifdef __ARM_ARCH_7A__
movw \reg, #(\imm & 0xffff)
movt \reg, #(\imm >> 16)
movw \reg, #(\imm & 0xffff)
movt \reg, #(\imm >> 16)
-
.
else
+
#
else
mov \reg, #(\imm & 0x0000ff)
orr \reg, #(\imm & 0x00ff00)
orr \reg, #(\imm & 0xff0000)
mov \reg, #(\imm & 0x0000ff)
orr \reg, #(\imm & 0x00ff00)
orr \reg, #(\imm & 0xff0000)
-
.
endif
+
#
endif
.endm
.macro dyna_linker_main
.endm
.macro dyna_linker_main
@@
-778,7
+776,7
@@
invalidate_addr_call:
new_dyna_start:
/* ip is stored to conform EABI alignment */
stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
new_dyna_start:
/* ip is stored to conform EABI alignment */
stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
- load_var
_
adr fp, dynarec_local
+ load_varadr fp, dynarec_local
ldr r0, [fp, #pcaddr-dynarec_local]
bl get_addr_ht
ldr r1, [fp, #next_interupt-dynarec_local]
ldr r0, [fp, #pcaddr-dynarec_local]
bl get_addr_ht
ldr r1, [fp, #next_interupt-dynarec_local]