aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/lib/_divsi3.S
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-06-02 11:08:20 -0600
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2015-07-07 11:39:22 +0200
commit1251d51ca587431d07fb37fecb86b21db682e250 (patch)
tree52daeb01347f666f6399475dacda5c286be08a6b /arch/arm/lib/_divsi3.S
parent6f43ba70d15e15a08c25b3d956c70addb6740737 (diff)
arm: Add ENTRY/ENDPROC to private libgcc functions
When CONFIG_SYS_THUMB_BUILD is defined these functions may be called from Thumb code. Add the required ENTRY and ENDPROC bracketing so that BLX is used to call these ARM functions, instead of plain BL, which will fail. Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Pavel Machek <pavel@denx.de>
Diffstat (limited to 'arch/arm/lib/_divsi3.S')
-rw-r--r--arch/arm/lib/_divsi3.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/lib/_divsi3.S b/arch/arm/lib/_divsi3.S
index 601549304e..c463c68f85 100644
--- a/arch/arm/lib/_divsi3.S
+++ b/arch/arm/lib/_divsi3.S
@@ -1,3 +1,5 @@
+#include <linux/linkage.h>
+
.macro ARM_DIV_BODY dividend, divisor, result, curbit
#if __LINUX_ARM_ARCH__ >= 5
@@ -95,9 +97,8 @@
.align 5
.globl __divsi3
-.globl __aeabi_idiv
__divsi3:
-__aeabi_idiv:
+ENTRY(__aeabi_idiv)
cmp r1, #0
eor ip, r0, r1 @ save the sign of the result.
beq Ldiv0
@@ -139,3 +140,4 @@ Ldiv0:
bl __div0
mov r0, #0 @ About as wrong as it could be.
ldr pc, [sp], #4
+ENDPROC(__aeabi_idiv)