diff --git a/cpu/arm_common/arm_cpu.c b/cpu/arm_common/arm_cpu.c index d7d7efbe93..9c71538845 100644 --- a/cpu/arm_common/arm_cpu.c +++ b/cpu/arm_common/arm_cpu.c @@ -38,7 +38,7 @@ char *thread_stack_init(thread_task_func_t task_func, void *arg, void *stack_sta { unsigned int *stk; int i; - stk = (unsigned int *)((unsigned int)stack_start + stack_size); + stk = (unsigned int *)((uintptr_t)stack_start + stack_size); stk--; *stk = STACK_MARKER; diff --git a/cpu/atmega_common/thread_arch.c b/cpu/atmega_common/thread_arch.c index cdd2829b23..e19dc5927c 100644 --- a/cpu/atmega_common/thread_arch.c +++ b/cpu/atmega_common/thread_arch.c @@ -74,7 +74,7 @@ char *thread_arch_stack_init(void *(*task_func)(void *), void *arg, void *stack_ uint8_t *stk; /* AVR uses 16 Bit or two 8 Bit registers for storing pointers*/ - stk = (uint8_t *)((uint16_t)stack_start + stack_size); + stk = (uint8_t *)((uintptr_t)stack_start + stack_size); /* put marker on stack */ stk--; diff --git a/cpu/cortex-m0_common/thread_arch.c b/cpu/cortex-m0_common/thread_arch.c index d5c7632d56..8508e376bd 100644 --- a/cpu/cortex-m0_common/thread_arch.c +++ b/cpu/cortex-m0_common/thread_arch.c @@ -66,7 +66,7 @@ char *thread_arch_stack_init(void *(*task_func)(void *), int stack_size) { uint32_t *stk; - stk = (uint32_t *)((uint32_t)stack_start + stack_size); + stk = (uint32_t *)((uintptr_t)stack_start + stack_size); /* marker */ stk--; diff --git a/cpu/cortex-m3_common/thread_arch.c b/cpu/cortex-m3_common/thread_arch.c index 3bc7f68b05..c1be4b82b7 100644 --- a/cpu/cortex-m3_common/thread_arch.c +++ b/cpu/cortex-m3_common/thread_arch.c @@ -57,7 +57,7 @@ static void context_restore(void) NORETURN; char *thread_arch_stack_init(void *(*task_func)(void *), void *arg, void *stack_start, int stack_size) { uint32_t *stk; - stk = (uint32_t *)((uint32_t)stack_start + stack_size); + stk = (uint32_t *)((uintptr_t)stack_start + stack_size); /* marker */ stk--; diff --git a/cpu/cortex-m4_common/thread_arch.c b/cpu/cortex-m4_common/thread_arch.c index 7fa0bd4aa4..5ad517c0a5 100644 --- a/cpu/cortex-m4_common/thread_arch.c +++ b/cpu/cortex-m4_common/thread_arch.c @@ -63,7 +63,7 @@ char *thread_arch_stack_init(void *(*task_func)(void *), int stack_size) { uint32_t *stk; - stk = (uint32_t *)((uint32_t)stack_start + stack_size); + stk = (uint32_t *)((uintptr_t)stack_start + stack_size); /* marker */ stk--; diff --git a/cpu/lpc1768/atom.c b/cpu/lpc1768/atom.c index 3fedce6e13..cdd7d32142 100644 --- a/cpu/lpc1768/atom.c +++ b/cpu/lpc1768/atom.c @@ -114,7 +114,7 @@ NORETURN void sched_task_return(void) char * thread_stack_init(void *(*task_func)(void *), void *arg, void *stack_start, int stack_size) { unsigned int * stk; - stk = (unsigned int *) (stack_start + stack_size); + stk = (unsigned int *) ((uintptr_t) stack_start + stack_size); /* marker */ stk--; diff --git a/cpu/msp430-common/cpu.c b/cpu/msp430-common/cpu.c index b332d2b46b..699a4da258 100644 --- a/cpu/msp430-common/cpu.c +++ b/cpu/msp430-common/cpu.c @@ -64,7 +64,7 @@ __attribute__((section (".fini9"))) void __main_epilogue(void) { __asm__("ret"); //---------------------------------------------------------------------------- char *thread_stack_init(thread_task_func_t task_func, void *arg, void *stack_start, int stack_size) { - unsigned short stk = (unsigned short)(stack_start + stack_size); + unsigned short stk = (unsigned short)((uintptr_t) stack_start + stack_size); /* ensure correct stack alignment (on 16-bit boundary) */ stk &= 0xfffe;