From: Keith Packard Date: Tue, 10 Jan 2017 22:45:59 +0000 (-0800) Subject: altos/lisp: Tell compiler that the two lisp memory pools are aligned X-Git-Tag: 1.7~123 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=399ba0a62422f71ff9669ba03b6a058bb2981c27 altos/lisp: Tell compiler that the two lisp memory pools are aligned Otherwise, it will generate unaligned accesses to things fetched from them. Sigh. Signed-off-by: Keith Packard --- diff --git a/src/lisp/ao_lisp.h b/src/lisp/ao_lisp.h index fa3632b1..8f5c3d8e 100644 --- a/src/lisp/ao_lisp.h +++ b/src/lisp/ao_lisp.h @@ -50,7 +50,7 @@ ao_lisp_os_restore(void); #ifdef AO_LISP_MAKE_CONST #define AO_LISP_POOL_CONST 16384 -extern uint8_t ao_lisp_const[AO_LISP_POOL_CONST]; +extern uint8_t ao_lisp_const[AO_LISP_POOL_CONST] __attribute__((aligned(4))); #define ao_lisp_pool ao_lisp_const #define AO_LISP_POOL AO_LISP_POOL_CONST @@ -84,7 +84,7 @@ extern uint8_t ao_lisp_const[AO_LISP_POOL_CONST]; #ifndef AO_LISP_POOL #define AO_LISP_POOL 3072 #endif -extern uint8_t ao_lisp_pool[AO_LISP_POOL + AO_LISP_POOL_EXTRA]; +extern uint8_t ao_lisp_pool[AO_LISP_POOL + AO_LISP_POOL_EXTRA] __attribute__((aligned(4))); #endif /* Primitive types */