diff options
author | notaz | 2011-09-04 17:37:46 +0300 |
---|---|---|
committer | notaz | 2011-09-04 17:37:46 +0300 |
commit | 0a74ef66e11356f34c80568cca92b6cdc596248c (patch) | |
tree | fe7dcfbc204247f690d4aa4250a3726ef36748dd /arm | |
parent | c21718e922f16bc7a459960b90e26634b8f2e33b (diff) | |
download | picogpsp-0a74ef66e11356f34c80568cca92b6cdc596248c.tar.gz picogpsp-0a74ef66e11356f34c80568cca92b6cdc596248c.tar.bz2 picogpsp-0a74ef66e11356f34c80568cca92b6cdc596248c.zip |
drc: fix eabi alignment
Diffstat (limited to 'arm')
-rw-r--r-- | arm/arm_stub.S | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arm/arm_stub.S b/arm/arm_stub.S index a7271fd..cc38dd2 100644 --- a/arm/arm_stub.S +++ b/arm/arm_stub.S @@ -171,13 +171,20 @@ #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) ;\ - stmdb sp!, { r3, r12, lr } ;\ + stmdb sp!, { call_c_saved_regs } ;\ bl function ;\ - ldmia sp!, { r3, r12, lr } ;\ + ldmia sp!, { call_c_saved_regs } ;\ @ Update the GBA hardware (video, sound, input, etc) |