summaryrefslogtreecommitdiff
path: root/arch/arm/lib/_ashldi3.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/_ashldi3.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/_ashldi3.S')
-rw-r--r--arch/arm/lib/_ashldi3.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/lib/_ashldi3.S b/arch/arm/lib/_ashldi3.S
index 2c26f84..9c34c21 100644
--- a/arch/arm/lib/_ashldi3.S
+++ b/arch/arm/lib/_ashldi3.S
@@ -4,6 +4,8 @@
* SPDX-License-Identifier: GPL-2.0+
*/
+#include <linux/linkage.h>
+
#ifdef __ARMEB__
#define al r1
#define ah r0
@@ -13,9 +15,8 @@
#endif
.globl __ashldi3
-.globl __aeabi_llsl
__ashldi3:
-__aeabi_llsl:
+ENTRY(__aeabi_llsl)
subs r3, r2, #32
rsb ip, r2, #32
@@ -24,3 +25,4 @@ __aeabi_llsl:
orrmi ah, ah, al, lsr ip
mov al, al, lsl r2
mov pc, lr
+ENDPROC(__aeabi_llsl)