Skip to content

Commit

Permalink
GCC: ARM_CM0: Fix L6286E error on Keil MDK
Browse files Browse the repository at this point in the history
Change the .b instruction to .bx with higher range to solve error
reported by MDK descibed bellow.

Fix:
Error: L6286E: Relocation #REL:0 in portasm.o(.text.SVC_Handler) with respect to vPortSVCHandler_C. Value(0x1a04) out of range(-0x800 - 0x7fe) for (R_ARM_THM_JUMP11)

Compiler: Keil MDK ARMClang 6.22.0

https://developer.arm.com/documentation/ka002847/latest/
https://developer.arm.com/documentation/dui0496/m/Linker-Errors-and-Warnings/List-of-the-armlink-error-and-warning-messages

Signed-off-by: Tomas Galbicka <[email protected]>
  • Loading branch information
TomasGalbickaNXP committed Aug 29, 2024
1 parent 23cfd11 commit 74b50e4
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions portable/GCC/ARM_CM0/portasm.c
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,8 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
" ldr r3, =%1 \n"
" cmp r2, r3 \n"
" beq system_call_exit \n"
" b vPortSVCHandler_C \n"
" ldr r3, =vPortSVCHandler_C \n"
" bx r3 \n"
" \n"
" system_call_enter: \n"
" push {lr} \n"
Expand Down Expand Up @@ -508,11 +509,13 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
" \n"
" stacking_used_psp: \n"
" mrs r0, psp \n"
" b vPortSVCHandler_C \n"
" ldr r3, =vPortSVCHandler_C \n"
" bx r3 \n"
" \n"
" stacking_used_msp: \n"
" mrs r0, msp \n"
" b vPortSVCHandler_C \n"
" ldr r3, =vPortSVCHandler_C \n"
" bx r3 \n"
" \n"
" .align 4 \n"
);
Expand Down

0 comments on commit 74b50e4

Please sign in to comment.