diff options
author | Nicolas Pitre <nico@cam.org> | 2006-01-14 17:18:29 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-14 17:18:29 +0100 |
commit | ba95e4e4a0a8a3c6aba363d45f78d5f2e2d111eb (patch) | |
tree | 886cf3398d3a8e9ca3212dcf233b59110fc87d3d /arch/arm/lib/lib1funcs.S | |
parent | [ARM] 3103/1: ARM EABI: stack pointer must be 64-bit aligned (part 2) (diff) | |
download | linux-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.S | 23 |
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: |