summaryrefslogtreecommitdiff
path: root/arch/arm/lib/_divsi3.S
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-06-02 17:08:20 (GMT)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2015-07-07 09:39:22 (GMT)
commit1251d51ca587431d07fb37fecb86b21db682e250 (patch)
tree52daeb01347f666f6399475dacda5c286be08a6b /arch/arm/lib/_divsi3.S
parent6f43ba70d15e15a08c25b3d956c70addb6740737 (diff)
downloadu-boot-1251d51ca587431d07fb37fecb86b21db682e250.tar.xz
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 6015493..c463c68 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)