summaryrefslogtreecommitdiff
path: root/arch/arm/lib/lib1funcs.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/lib/lib1funcs.S')
-rw-r--r--arch/arm/lib/lib1funcs.S44
1 files changed, 22 insertions, 22 deletions
diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S
index f1becda..9bf93ce 100644
--- a/arch/arm/lib/lib1funcs.S
+++ b/arch/arm/lib/lib1funcs.S
@@ -193,10 +193,10 @@
.endm
+.pushsection .text.__udivsi3, "ax"
ENTRY(__udivsi3)
ENTRY(__aeabi_uidiv)
UNWIND(.fnstart)
-.pushsection .text.__udivsi3, "ax"
subs r2, r1, #1
reteq lr
@@ -220,14 +220,14 @@ UNWIND(.fnstart)
mov r0, r0, lsr r2
ret lr
-.popsection
UNWIND(.fnend)
ENDPROC(__udivsi3)
ENDPROC(__aeabi_uidiv)
+.popsection
+.pushsection .text.__umodsi3, "ax"
ENTRY(__umodsi3)
UNWIND(.fnstart)
-.pushsection .text.__umodsi3, "ax"
subs r2, r1, #1 @ compare divisor with 1
bcc Ldiv0
@@ -241,14 +241,14 @@ UNWIND(.fnstart)
ret lr
-.popsection
UNWIND(.fnend)
ENDPROC(__umodsi3)
+.popsection
+.pushsection .text.__divsi3, "ax"
ENTRY(__divsi3)
ENTRY(__aeabi_idiv)
UNWIND(.fnstart)
-.pushsection .text.__divsi3, "ax"
cmp r1, #0
eor ip, r0, r1 @ save the sign of the result.
@@ -285,14 +285,14 @@ UNWIND(.fnstart)
rsbmi r0, r0, #0
ret lr
-.popsection
UNWIND(.fnend)
ENDPROC(__divsi3)
ENDPROC(__aeabi_idiv)
+.popsection
+.pushsection .text.__modsi3, "ax"
ENTRY(__modsi3)
UNWIND(.fnstart)
-.pushsection .text.__modsi3, "ax"
cmp r1, #0
beq Ldiv0
@@ -312,16 +312,16 @@ UNWIND(.fnstart)
rsbmi r0, r0, #0
ret lr
-.popsection
UNWIND(.fnend)
ENDPROC(__modsi3)
+.popsection
#ifdef CONFIG_AEABI
+.pushsection .text.__aeabi_uidivmod, "ax"
ENTRY(__aeabi_uidivmod)
UNWIND(.fnstart)
UNWIND(.save {r0, r1, ip, lr} )
-.pushsection .text.__aeabi_uidivmod, "ax"
stmfd sp!, {r0, r1, ip, lr}
bl __aeabi_uidiv
@@ -330,14 +330,14 @@ UNWIND(.save {r0, r1, ip, lr} )
sub r1, r1, r3
ret lr
-.popsection
UNWIND(.fnend)
ENDPROC(__aeabi_uidivmod)
+.popsection
+.pushsection .text.__aeabi_uidivmod, "ax"
ENTRY(__aeabi_idivmod)
UNWIND(.fnstart)
UNWIND(.save {r0, r1, ip, lr} )
-.pushsection .text.__aeabi_uidivmod, "ax"
stmfd sp!, {r0, r1, ip, lr}
bl __aeabi_idiv
@@ -346,31 +346,31 @@ UNWIND(.save {r0, r1, ip, lr} )
sub r1, r1, r3
ret lr
-.popsection
UNWIND(.fnend)
ENDPROC(__aeabi_idivmod)
+.popsection
#endif
+.pushsection .text.Ldiv0, "ax"
Ldiv0:
UNWIND(.fnstart)
UNWIND(.pad #4)
UNWIND(.save {lr})
-.pushsection .text.Ldiv0, "ax"
str lr, [sp, #-8]!
bl __div0
mov r0, #0 @ About as wrong as it could be.
ldr pc, [sp], #8
-.popsection
UNWIND(.fnend)
ENDPROC(Ldiv0)
+.popsection
+.pushsection .text.__gnu_thumb1_case_sqi, "ax"
/* Thumb-1 specialities */
#if defined(CONFIG_SYS_THUMB_BUILD) && !defined(CONFIG_HAS_THUMB2)
ENTRY(__gnu_thumb1_case_sqi)
-.pushsection .text.__gnu_thumb1_case_sqi, "ax"
push {r1}
mov r1, lr
lsrs r1, r1, #1
@@ -380,11 +380,11 @@ ENTRY(__gnu_thumb1_case_sqi)
add lr, lr, r1
pop {r1}
bx lr
-.popsection
ENDPROC(__gnu_thumb1_case_sqi)
+.popsection
+_.pushsection .text.__gnu_thumb1_case_uqi, "ax"
ENTRY(__gnu_thumb1_case_uqi)
-.pushsection .text.__gnu_thumb1_case_uqi, "ax"
push {r1}
mov r1, lr
lsrs r1, r1, #1
@@ -394,11 +394,11 @@ ENTRY(__gnu_thumb1_case_uqi)
add lr, lr, r1
pop {r1}
bx lr
-.popsection
ENDPROC(__gnu_thumb1_case_uqi)
+.popsection
-ENTRY(__gnu_thumb1_case_shi)
.pushsection .text.__gnu_thumb1_case_shi, "ax"
+ENTRY(__gnu_thumb1_case_shi)
push {r0, r1}
mov r1, lr
lsrs r1, r1, #1
@@ -409,11 +409,11 @@ ENTRY(__gnu_thumb1_case_shi)
add lr, lr, r1
pop {r0, r1}
bx lr
-.popsection
ENDPROC(__gnu_thumb1_case_shi)
+.popsection
-ENTRY(__gnu_thumb1_case_uhi)
.pushsection .text.__gnu_thumb1_case_uhi, "ax"
+ENTRY(__gnu_thumb1_case_uhi)
push {r0, r1}
mov r1, lr
lsrs r1, r1, #1
@@ -424,6 +424,6 @@ ENTRY(__gnu_thumb1_case_uhi)
add lr, lr, r1
pop {r0, r1}
bx lr
-.popsection
ENDPROC(__gnu_thumb1_case_uhi)
+.popsection
#endif