Index: kernel/arch/arm32/Makefile.inc
===================================================================
--- kernel/arch/arm32/Makefile.inc	(revision df955955b9f5dc0ddbde75a5a0400456454c3b8a)
+++ kernel/arch/arm32/Makefile.inc	(revision 8e893aeb5653f1350d4daa8ac443ec24ef6449cd)
@@ -41,7 +41,7 @@
 	arch/$(KARCH)/src/start.S \
 	arch/$(KARCH)/src/asm.S \
+	arch/$(KARCH)/src/eabi.S \
 	arch/$(KARCH)/src/exc_handler.S \
 	arch/$(KARCH)/src/arm32.c \
-	arch/$(KARCH)/src/eabi.c \
 	arch/$(KARCH)/src/machine_func.c \
 	arch/$(KARCH)/src/context.S \
Index: kernel/arch/arm32/include/eabi.h
===================================================================
--- kernel/arch/arm32/include/eabi.h	(revision df955955b9f5dc0ddbde75a5a0400456454c3b8a)
+++ 	(revision )
@@ -1,53 +1,0 @@
-/*
- * Copyright (c) 2012 Martin Decky
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup arm32
- * @{
- */
-
-#ifndef KERN_arm32_EABI_H_
-#define KERN_arm32_EABI_H_
-
-typedef struct {
-	unsigned int quot;
-	unsigned int rem;
-} aeabi_uidivmod_t;
-
-typedef struct {
-	unsigned long long quot;
-	unsigned long long rem;
-} aeabi_uldivmod_t;
-
-extern aeabi_uldivmod_t __aeabi_uldivmod(unsigned long long, unsigned long long);
-extern aeabi_uidivmod_t __aeabi_uidivmod(unsigned int, unsigned int);
-extern unsigned int __aeabi_uidiv(unsigned int, unsigned int);
-
-#endif
-
-/** @}
- */
Index: kernel/arch/arm32/src/eabi.S
===================================================================
--- kernel/arch/arm32/src/eabi.S	(revision 8e893aeb5653f1350d4daa8ac443ec24ef6449cd)
+++ kernel/arch/arm32/src/eabi.S	(revision 8e893aeb5653f1350d4daa8ac443ec24ef6449cd)
@@ -0,0 +1,88 @@
+#
+# Copyright (c) 2012 Martin Decky
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+# - Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+# - The name of the author may not be used to endorse or promote products
+#   derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+.text
+
+.global __aeabi_idiv
+.global __aeabi_uidiv
+
+.global __aeabi_idivmod
+.global __aeabi_uidivmod
+
+.global __aeabi_ldivmod
+.global __aeabi_uldivmod
+
+__aeabi_idiv:
+	push {sp, lr}
+	bl __divsi3
+	ldr lr, [sp, #4]
+	add sp, sp, #8
+	bx lr
+
+__aeabi_uidiv:
+	push {sp, lr}
+	bl __udivsi3
+	ldr lr, [sp, #4]
+	add sp, sp, #8
+	bx lr
+
+__aeabi_idivmod:
+	sub sp, sp, #8
+	push {sp, lr}
+	bl __divmodsi3
+	ldr lr, [sp, #4]
+	add sp, sp, #8
+	pop {r1, r2}
+	bx lr
+
+__aeabi_uidivmod:
+	sub sp, sp, #8
+	push {sp, lr}
+	bl __udivmodsi3
+	ldr lr, [sp, #4]
+	add sp, sp, #8
+	pop {r1, r2}
+	bx lr
+
+__aeabi_ldivmod:
+	sub sp, sp, #8
+	push {sp, lr}
+	bl __divmoddi3
+	ldr lr, [sp, #4]
+	add sp, sp, #8
+	pop {r2, r3}
+	bx lr
+
+__aeabi_uldivmod:
+	sub sp, sp, #8
+	push {sp, lr}
+	bl __udivmoddi3
+	ldr lr, [sp, #4]
+	add sp, sp, #8
+	pop {r2, r3}
+	bx lr
Index: kernel/arch/arm32/src/eabi.c
===================================================================
--- kernel/arch/arm32/src/eabi.c	(revision df955955b9f5dc0ddbde75a5a0400456454c3b8a)
+++ 	(revision )
@@ -1,61 +1,0 @@
-/*
- * Copyright (c) 2012 Martin Decky
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup arm32
- * @{
- */
-/** @file
- *  @brief ARM32 EABI routines
- */
-
-#include <arch/eabi.h>
-#include <genarch/softint/division.h>
-
-aeabi_uldivmod_t __aeabi_uldivmod(unsigned long long a, unsigned long long b)
-{
-	aeabi_uldivmod_t ret;
-	ret.quot = __udivmoddi3(a, b, &ret.rem);
-	
-	return ret;
-}
-
-aeabi_uidivmod_t __aeabi_uidivmod(unsigned int a, unsigned int b)
-{
-	aeabi_uidivmod_t ret;
-	ret.quot = __udivmodsi3(a, b, &ret.rem);
-	
-	return ret;
-}
-
-unsigned int __aeabi_uidiv(unsigned int a, unsigned int b)
-{
-	return __udivsi3(a, b);
-}
-
-/** @}
- */
