Index: uspace/lib/c/arch/arm32/src/eabi.S
===================================================================
--- uspace/lib/c/arch/arm32/src/eabi.S	(revision ab63b04e07ccf8791b1339cb5a61e373384f6c2d)
+++ uspace/lib/c/arch/arm32/src/eabi.S	(revision 1db6dfd43e6af5b83407ca9b1ef75a0eaddfc7f4)
@@ -45,50 +45,54 @@
 
 __aeabi_idiv:
-	push {sp, lr}
+	push {lr}
 	bl __divsi3
-	ldr lr, [sp, #4]
-	add sp, sp, #8
+	pop {lr}
 	mov pc, lr
 
 __aeabi_uidiv:
-	push {sp, lr}
+	push {lr}
 	bl __udivsi3
-	ldr lr, [sp, #4]
-	add sp, sp, #8
+	pop {lr}
 	mov pc, lr
 
 __aeabi_idivmod:
-	sub sp, sp, #8
-	push {sp, lr}
-	bl __divmodsi3
-	ldr lr, [sp, #4]
-	add sp, sp, #8
-	pop {r1, r2}
+	push {lr}
+	sub sp, sp, #12
+	add r2, sp, #4
+	bl __udivmodsi3
+	ldr r1, [sp, #4]
+	add sp, sp, #12
+	pop {lr}
 	mov pc, lr
 
 __aeabi_uidivmod:
-	sub sp, sp, #8
-	push {sp, lr}
+	push {lr}
+	sub sp, sp, #12
+	add r2, sp, #4
 	bl __udivmodsi3
-	ldr lr, [sp, #4]
-	add sp, sp, #8
-	pop {r1, r2}
+	ldr r1, [sp, #4]
+	add sp, sp, #12
+	pop {lr}
 	mov pc, lr
 
 __aeabi_ldivmod:
-	sub sp, sp, #8
-	push {sp, lr}
+	push {lr}
+	sub sp, sp, #24
+	push {sp}
 	bl __divmoddi3
-	ldr lr, [sp, #4]
-	add sp, sp, #8
+	add sp, sp, #4
 	pop {r2, r3}
+	add sp, sp, #16
+	pop {lr}
 	mov pc, lr
 
 __aeabi_uldivmod:
-	sub sp, sp, #8
-	push {sp, lr}
+	push {lr}
+	sub sp, sp, #24
+	push {sp}
 	bl __udivmoddi3
-	ldr lr, [sp, #4]
-	add sp, sp, #8
+	add sp, sp, #4
 	pop {r2, r3}
+	add sp, sp, #16
+	pop {lr}
 	mov pc, lr
