GCC_ASM_IMPORT(DefaultExceptionHandler)\r
\r
.text\r
+.syntax unified\r
#if !defined(__APPLE__)\r
.fpu neon @ makes vpush/vpop assemble\r
#endif\r
stmfd SP!,{LR} @ Store the link register for the current mode\r
sub SP,SP,#0x20 @ Save space for SP, LR, PC, IFAR - CPSR\r
stmfd SP!,{R0-R12} @ Store the register state\r
- \r
+\r
mov R0,#0 @ ExceptionType\r
ldr R1,ASM_PFX(CommonExceptionEntry)\r
bx R1\r
and R3, R1, #0x1f @ Check CPSR to see if User or System Mode\r
cmp R3, #0x1f @ if ((CPSR == 0x10) || (CPSR == 0x1df))\r
cmpne R3, #0x10 @\r
- stmeqed R2, {lr}^ @ save unbanked lr\r
+ stmdaeq R2, {lr}^ @ save unbanked lr\r
@ else\r
- stmneed R2, {lr} @ save SVC lr\r
+ stmdane R2, {lr} @ save SVC lr\r
\r
\r
ldr R5, [SP, #0x58] @ PC is the LR pushed by srsfd\r
@ Check to see if we have to adjust for Thumb entry\r
sub r4, r0, #1 @ if (ExceptionType == 1 || ExceptionType ==2)) {\r
- cmp r4, #1 @ // UND & SVC have differnt LR adjust for Thumb\r
+ cmp r4, #1 @ // UND & SVC have different LR adjust for Thumb\r
bhi NoAdjustNeeded\r
\r
tst r1, #0x20 @ if ((CPSR & T)) == T) { // Thumb Mode on entry\r
and R1, R1, #0x1f @ Check to see if User or System Mode\r
cmp R1, #0x1f @ if ((CPSR == 0x10) || (CPSR == 0x1f))\r
cmpne R1, #0x10 @\r
- ldmeqed R2, {lr}^ @ restore unbanked lr\r
+ ldmibeq R2, {lr}^ @ restore unbanked lr\r
@ else\r
- ldmneed R3, {lr} @ restore SVC lr, via ldmfd SP!, {LR}\r
+ ldmibne R3, {lr} @ restore SVC lr, via ldmfd SP!, {LR}\r
\r
ldmfd SP!,{R0-R12} @ Restore general purpose registers\r
@ Exception handler can not change SP\r