From 39fc9325cffe30f5f4683f7c18de1dd564da38a5 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Sat, 3 Apr 2021 03:31:35 +0800 Subject: [PATCH] arch/arm: Replace "b lr" or "mov pc, lr" with "bx lr" Signed-off-by: Xiang Xiao --- arch/arm/src/arm/vfork.S | 2 +- arch/arm/src/armv7-a/arm_saveusercontext.S | 4 ++-- arch/arm/src/armv7-a/vfork.S | 2 +- arch/arm/src/armv7-r/arm_saveusercontext.S | 2 +- arch/arm/src/armv7-r/vfork.S | 2 +- libs/libc/machine/arm/armv8-m/gnu/arch_setjmp.S | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/arm/src/arm/vfork.S b/arch/arm/src/arm/vfork.S index 5a39f305e8..6de4f5f6a6 100644 --- a/arch/arm/src/arm/vfork.S +++ b/arch/arm/src/arm/vfork.S @@ -119,6 +119,6 @@ vfork: ldr lr, [sp, #VFORK_LR_OFFSET] add sp, sp, #VFORK_SIZEOF - mov pc, lr + bx lr .size vfork, .-vfork .end diff --git a/arch/arm/src/armv7-a/arm_saveusercontext.S b/arch/arm/src/armv7-a/arm_saveusercontext.S index 3bce55627e..71d391088d 100644 --- a/arch/arm/src/armv7-a/arm_saveusercontext.S +++ b/arch/arm/src/armv7-a/arm_saveusercontext.S @@ -120,14 +120,14 @@ arm_saveusercontext: /* Return 0 now indicating that this return is not a context switch */ mov r0, #0 /* Return value == 0 */ - mov pc, lr /* Return */ + bx lr /* Return */ 1: /* Return 1 now indicating that this return is a context switch */ mov r0, #1 /* Return value == 1 */ - mov pc, lr /* Return */ + bx lr /* Return */ .size arm_saveusercontext, .-arm_saveusercontext .end diff --git a/arch/arm/src/armv7-a/vfork.S b/arch/arm/src/armv7-a/vfork.S index ef917595d4..1fed24d68d 100644 --- a/arch/arm/src/armv7-a/vfork.S +++ b/arch/arm/src/armv7-a/vfork.S @@ -119,6 +119,6 @@ vfork: ldr lr, [sp, #VFORK_LR_OFFSET] add sp, sp, #VFORK_SIZEOF - mov pc, lr + bx lr .size vfork, .-vfork .end diff --git a/arch/arm/src/armv7-r/arm_saveusercontext.S b/arch/arm/src/armv7-r/arm_saveusercontext.S index 01aca7cc6e..018d87d940 100644 --- a/arch/arm/src/armv7-r/arm_saveusercontext.S +++ b/arch/arm/src/armv7-r/arm_saveusercontext.S @@ -119,6 +119,6 @@ arm_saveusercontext: /* Return 0 now indicating that this return is not a context switch */ mov r0, #0 /* Return value == 0 */ - mov pc, lr /* Return */ + bx lr /* Return */ .size arm_saveusercontext, .-arm_saveusercontext .end diff --git a/arch/arm/src/armv7-r/vfork.S b/arch/arm/src/armv7-r/vfork.S index b9acbbccf5..3d6d56cf15 100644 --- a/arch/arm/src/armv7-r/vfork.S +++ b/arch/arm/src/armv7-r/vfork.S @@ -119,6 +119,6 @@ vfork: ldr lr, [sp, #VFORK_LR_OFFSET] add sp, sp, #VFORK_SIZEOF - mov pc, lr + bx lr .size vfork, .-vfork .end diff --git a/libs/libc/machine/arm/armv8-m/gnu/arch_setjmp.S b/libs/libc/machine/arm/armv8-m/gnu/arch_setjmp.S index 6dcb0b6d2d..8dafb50005 100644 --- a/libs/libc/machine/arm/armv8-m/gnu/arch_setjmp.S +++ b/libs/libc/machine/arm/armv8-m/gnu/arch_setjmp.S @@ -136,7 +136,7 @@ longjmp: #endif /* CONFIG_ARCH_FPU */ mov r0, r1 /* return val */ - b lr + bx lr .size longjmp, .-longjmp .end