From 68a4099c1c38f7d524ca643e9fb5707ec19dd993 Mon Sep 17 00:00:00 2001 From: Kaspar Schleiser Date: Mon, 13 May 2019 13:08:06 +0200 Subject: [PATCH] cpu/cortexm: fix pointer calculation gcc9 started realizing that _sram is basically an uint8_t[1] and thus HARDFAULT_HANDLER_REQUIRED_STACK_SPACE cannot be added to it without exceeding the one-sized array. This commit casts _sram to (uintptr_t) where that happens. --- cpu/cortexm_common/vectors_cortexm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpu/cortexm_common/vectors_cortexm.c b/cpu/cortexm_common/vectors_cortexm.c index 74f821b10a..60e53d5881 100644 --- a/cpu/cortexm_common/vectors_cortexm.c +++ b/cpu/cortexm_common/vectors_cortexm.c @@ -221,7 +221,7 @@ __attribute__((naked)) void hard_fault_default(void) "mov r3, sp \n" /* r4_to_r11_stack parameter */ "bl hard_fault_handler \n" /* hard_fault_handler(r0) */ : - : [sram] "r" (&_sram + HARDFAULT_HANDLER_REQUIRED_STACK_SPACE), + : [sram] "r" ((uintptr_t)&_sram + HARDFAULT_HANDLER_REQUIRED_STACK_SPACE), [eram] "r" (&_eram), [estack] "r" (&_estack) : "r0","r4","r5","r6","r8","r9","r10","r11","lr"