From 86429dbf1eca8ee0e08176997f508647c3abf6bd Mon Sep 17 00:00:00 2001 From: Chris Chua Date: Sun, 19 Mar 2023 06:22:08 +1100 Subject: Using ARM Unified Assembler Language Change-Id: Iae32a8ba8eff6087330e458fafc912a12fee4509 --- firmware/export/config.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'firmware/export/config.h') diff --git a/firmware/export/config.h b/firmware/export/config.h index 0882cad61c..19ee03b4c7 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -1006,13 +1006,14 @@ Lyre prototype 1 */ #endif #if defined(CPU_ARM) && defined(__ASSEMBLER__) +.syntax unified /* ARMv4T doesn't switch the T bit when popping pc directly, we must use BX */ .macro ldmpc cond="", order="ia", regs #if ARM_ARCH == 4 && defined(USE_THUMB) - ldm\cond\order sp!, { \regs, lr } + ldm\order\cond sp!, { \regs, lr } bx\cond lr #else - ldm\cond\order sp!, { \regs, pc } + ldm\order\cond sp!, { \regs, pc } #endif .endm .macro ldrpc cond="" -- cgit v1.2.3