summaryrefslogtreecommitdiff
path: root/arch/arm/lib/_lshrdi3.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/_lshrdi3.S
parent6f43ba70d15e15a08c25b3d956c70addb6740737 (diff)
downloadu-boot-imx-1251d51ca587431d07fb37fecb86b21db682e250.zip
u-boot-imx-1251d51ca587431d07fb37fecb86b21db682e250.tar.gz
u-boot-imx-1251d51ca587431d07fb37fecb86b21db682e250.tar.bz2
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/_lshrdi3.S')
-rw-r--r--arch/arm/lib/_lshrdi3.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/lib/_lshrdi3.S b/arch/arm/lib/_lshrdi3.S
index 33296a0..1f9b916 100644
--- a/arch/arm/lib/_lshrdi3.S
+++ b/arch/arm/lib/_lshrdi3.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 __lshrdi3
-.globl __aeabi_llsr
__lshrdi3:
-__aeabi_llsr:
+ENTRY(__aeabi_llsr)
subs r3, r2, #32
rsb ip, r2, #32
@@ -24,3 +25,4 @@ __aeabi_llsr:
orrmi al, al, ah, lsl ip
mov ah, ah, lsr r2
mov pc, lr
+ENDPROC(__aeabi_llsr)