From 0a74ef66e11356f34c80568cca92b6cdc596248c Mon Sep 17 00:00:00 2001 From: notaz Date: Sun, 4 Sep 2011 17:37:46 +0300 Subject: drc: fix eabi alignment --- arm/arm_stub.S | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'arm/arm_stub.S') 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) -- cgit v1.2.3