--- a/main/utils.c +++ b/main/utils.c @@ -1632,7 +1632,7 @@ ast_string_field __ast_string_field_allo } result = (*pool_head)->base + (*pool_head)->used; -#ifdef __sparc__ +#if defined(__sparc__) || defined(__mips__) || defined(__arm__) /* SPARC requires that the allocation field be aligned. */ if ((long) result % sizeof(ast_string_field_allocation)) { result++; @@ -1713,7 +1713,7 @@ void __ast_string_field_ptr_build_va(str } } else { target = (*pool_head)->base + (*pool_head)->used + sizeof(ast_string_field_allocation); -#ifdef __sparc__ +#if defined(__sparc__) || defined(__mips__) || defined(__arm__) if ((long) target % sizeof(ast_string_field_allocation)) { target++; space--;