summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib/lib1funcs.S
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2006-01-14 17:18:29 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-01-14 17:18:29 +0100
commitba95e4e4a0a8a3c6aba363d45f78d5f2e2d111eb (patch)
tree886cf3398d3a8e9ca3212dcf233b59110fc87d3d /arch/arm/lib/lib1funcs.S
parent[ARM] 3103/1: ARM EABI: stack pointer must be 64-bit aligned (part 2) (diff)
downloadlinux-ba95e4e4a0a8a3c6aba363d45f78d5f2e2d111eb.tar.xz
linux-ba95e4e4a0a8a3c6aba363d45f78d5f2e2d111eb.zip
[ARM] 3104/1: ARM EABI: new helper function names
Patch from Nicolas Pitre The ARM EABI defines new names for GCC helper functions. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/lib/lib1funcs.S')
-rw-r--r--arch/arm/lib/lib1funcs.S23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S
index 4964e5bafa0f..4e492f4b3f0e 100644
--- a/arch/arm/lib/lib1funcs.S
+++ b/arch/arm/lib/lib1funcs.S
@@ -206,6 +206,7 @@ Boston, MA 02111-1307, USA. */
ENTRY(__udivsi3)
+ENTRY(__aeabi_uidiv)
subs r2, r1, #1
moveq pc, lr
@@ -246,6 +247,7 @@ ENTRY(__umodsi3)
ENTRY(__divsi3)
+ENTRY(__aeabi_idiv)
cmp r1, #0
eor ip, r0, r1 @ save the sign of the result.
@@ -303,6 +305,27 @@ ENTRY(__modsi3)
rsbmi r0, r0, #0
mov pc, lr
+#ifdef CONFIG_AEABI
+
+ENTRY(__aeabi_uidivmod)
+
+ stmfd sp!, {r0, r1, ip, lr}
+ bl __aeabi_uidiv
+ ldmfd sp!, {r1, r2, ip, lr}
+ mul r3, r0, r2
+ sub r1, r1, r3
+ mov pc, lr
+
+ENTRY(__aeabi_idivmod)
+
+ stmfd sp!, {r0, r1, ip, lr}
+ bl __aeabi_idiv
+ ldmfd sp!, {r1, r2, ip, lr}
+ mul r3, r0, r2
+ sub r1, r1, r3
+ mov pc, lr
+
+#endif
Ldiv0: