summaryrefslogtreecommitdiff
path: root/arch/arm/lib/_udivsi3.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/_udivsi3.S
parent6f43ba70d15e15a08c25b3d956c70addb6740737 (diff)
downloadu-boot-fsl-qoriq-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/_udivsi3.S')
-rw-r--r--arch/arm/lib/_udivsi3.S10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/lib/_udivsi3.S b/arch/arm/lib/_udivsi3.S
index 1309802..3b653be 100644
--- a/arch/arm/lib/_udivsi3.S
+++ b/arch/arm/lib/_udivsi3.S
@@ -1,3 +1,5 @@
+#include <linux/linkage.h>
+
/* # 1 "libgcc1.S" */
@ libgcc1 routines for ARM cpu.
@ Division routines, written by Richard Earnshaw, (rearnsha@armltd.co.uk)
@@ -72,8 +74,7 @@ Ldiv0:
ldmia sp!, {pc}
.size __udivsi3 , . - __udivsi3
-.globl __aeabi_uidivmod
-__aeabi_uidivmod:
+ENTRY(__aeabi_uidivmod)
stmfd sp!, {r0, r1, ip, lr}
bl __aeabi_uidiv
@@ -81,9 +82,9 @@ __aeabi_uidivmod:
mul r3, r0, r2
sub r1, r1, r3
mov pc, lr
+ENDPROC(__aeabi_uidivmod)
-.globl __aeabi_idivmod
-__aeabi_idivmod:
+ENTRY(__aeabi_idivmod)
stmfd sp!, {r0, r1, ip, lr}
bl __aeabi_idiv
@@ -91,3 +92,4 @@ __aeabi_idivmod:
mul r3, r0, r2
sub r1, r1, r3
mov pc, lr
+ENDPROC(__aeabi_idivmod)