diff -urN asterisk-1.8.2.3/main/utils.c asterisk-1.8.2.3-2/main/utils.c
--- asterisk-1.8.2.3/main/utils.c	2011-01-20 19:47:11.000000000 +0000
+++ asterisk-1.8.2.3-2/main/utils.c	2011-04-24 20:34:55.000000000 +0100
@@ -24,6 +24,8 @@
  */
 
 #include "asterisk.h"
+/* Temporary declaration for ARM cpus ONLY (this belongs in the make environment) */
+#define __arm__ 1
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision: 303104 $")
 
@@ -1632,7 +1634,7 @@
 	}
 
 	result = (*pool_head)->base + (*pool_head)->used;
-#ifdef __sparc__
+#if defined(__sparc__) || defined(__arm__)
 	/* SPARC requires that the allocation field be aligned. */
 	if ((long) result % sizeof(ast_string_field_allocation)) {
 		result++;
@@ -1713,7 +1715,7 @@
 		}
 	} else {
 		target = (*pool_head)->base + (*pool_head)->used + sizeof(ast_string_field_allocation);
-#ifdef __sparc__
+#if defined(__sparc__) || defined(__arm__)
 		if ((long) target % sizeof(ast_string_field_allocation)) {
 			target++;
 			space--;