From 781561c8558a2acd7d559200590f23280cfde1f9 Mon Sep 17 00:00:00 2001 From: Benjamin Walsh Date: Thu, 16 Jun 2016 16:49:07 -0400 Subject: [PATCH] arm: add __ASSERT() for stack alignment Change-Id: Id5c23f502a17ad3e889a0de7c7ad18085b123078 Signed-off-by: Benjamin Walsh --- arch/arm/core/thread.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/core/thread.c b/arch/arm/core/thread.c index b66a84ecd32..c5c07722726 100644 --- a/arch/arm/core/thread.c +++ b/arch/arm/core/thread.c @@ -105,6 +105,10 @@ void _new_thread(char *pStackMem, unsigned stackSize, void *parameter1, void *parameter2, void *parameter3, int priority, unsigned options) { + __ASSERT(!((uint32_t)pStackMem & (STACK_ALIGN - 1)), + "stack is not aligned properly\n" + "%d-byte alignment required\n", STACK_ALIGN); + char *stackEnd = pStackMem + stackSize; struct __esf *pInitCtx; struct tcs *tcs = (struct tcs *) pStackMem;