From: notaz Date: Sun, 4 Sep 2011 14:37:46 +0000 (+0300) Subject: drc: fix eabi alignment X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=gpsp.git;a=commitdiff_plain;h=0a74ef66e11356f34c80568cca92b6cdc596248c drc: fix eabi alignment --- 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)