notaz.gp2x.de
/
gpsp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c21718e
)
drc: fix eabi alignment
author
notaz
<notaz@pixelinis>
Sun, 4 Sep 2011 14:37:46 +0000
(17:37 +0300)
committer
notaz
<notaz@pixelinis>
Sun, 4 Sep 2011 14:37:46 +0000
(17:37 +0300)
arm/arm_stub.S
patch
|
blob
|
blame
|
history
diff --git
a/arm/arm_stub.S
b/arm/arm_stub.S
index
a7271fd
..
cc38dd2
100644
(file)
--- a/
arm/arm_stub.S
+++ b/
arm/arm_stub.S
@@
-171,13
+171,20
@@
#define restore_flags() ;\
msr cpsr_f, reg_flags ;\
#define restore_flags() ;\
msr cpsr_f, reg_flags ;\
+#ifdef __ARM_EABI__
+ @ must align stack
+ #define call_c_saved_regs r2, r3, r12, lr
+#else
+ #define call_c_saved_regs r3, r12, lr
+#endif
+
@ Calls a C function - all caller save registers which are important to the
@ dynarec and to returning from this function are saved.
#define call_c_function(function) ;\
@ Calls a C function - all caller save registers which are important to the
@ dynarec and to returning from this function are saved.
#define call_c_function(function) ;\
- stmdb sp!, {
r3, r12, lr }
;\
+ stmdb sp!, {
call_c_saved_regs }
;\
bl function ;\
bl function ;\
- ldmia sp!, {
r3, r12, lr }
;\
+ ldmia sp!, {
call_c_saved_regs }
;\
@ Update the GBA hardware (video, sound, input, etc)
@ Update the GBA hardware (video, sound, input, etc)