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 .bl 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 26, 2024
1 parent 23cfd11 commit 53ec2eb
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions portable/GCC/ARM_CM0/portasm.c
Original file line number Diff line number Diff line change
Expand Up @@ -456,11 +456,11 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
" \n"
" stack_on_psp: \n"
" mrs r0, psp \n"
" b route_svc \n"
" bl route_svc \n"
" \n"
" stack_on_msp: \n"
" mrs r0, msp \n"
" b route_svc \n"
" bl route_svc \n"
" \n"
" route_svc: \n"
" ldr r3, [r0, #24] \n"
Expand All @@ -472,7 +472,7 @@ 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"
" bl vPortSVCHandler_C \n"
" \n"
" system_call_enter: \n"
" push {lr} \n"
Expand Down Expand Up @@ -508,11 +508,11 @@ void vClearInterruptMask( __attribute__( ( unused ) ) uint32_t ulMask ) /* __att
" \n"
" stacking_used_psp: \n"
" mrs r0, psp \n"
" b vPortSVCHandler_C \n"
" bl vPortSVCHandler_C \n"
" \n"
" stacking_used_msp: \n"
" mrs r0, msp \n"
" b vPortSVCHandler_C \n"
" bl vPortSVCHandler_C \n"
" \n"
" .align 4 \n"
);
Expand Down

0 comments on commit 53ec2eb

Please sign in to comment.