From 53c70bee206c13de076c0fe31701df4cd7b8ccf4 Mon Sep 17 00:00:00 2001 From: Samuel Sadok Date: Wed, 29 May 2019 12:31:53 +0200 Subject: [PATCH] Remove stack pointer from clobber list This fixes an issue when compiling with GCC 9.1: "In function 'void early_start_checks()': error: listing the stack pointer register 'sp' in a clobber list is deprecated [-Werror=deprecated]" Corresponds fix in upstream ARM CMSIS: https://github.com/ARM-software/CMSIS_5/commit/a07b56505471fd789111bd7dba726461449cc261 --- Firmware/Board/v3/Drivers/CMSIS/Include/cmsis_gcc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/Board/v3/Drivers/CMSIS/Include/cmsis_gcc.h b/Firmware/Board/v3/Drivers/CMSIS/Include/cmsis_gcc.h index bb89fbba..3e522777 100644 --- a/Firmware/Board/v3/Drivers/CMSIS/Include/cmsis_gcc.h +++ b/Firmware/Board/v3/Drivers/CMSIS/Include/cmsis_gcc.h @@ -161,7 +161,7 @@ __attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_PSP(void) */ __attribute__( ( always_inline ) ) __STATIC_INLINE void __set_PSP(uint32_t topOfProcStack) { - __ASM volatile ("MSR psp, %0\n" : : "r" (topOfProcStack) : "sp"); + __ASM volatile ("MSR psp, %0\n" : : "r" (topOfProcStack) : ); } @@ -187,7 +187,7 @@ __attribute__( ( always_inline ) ) __STATIC_INLINE uint32_t __get_MSP(void) */ __attribute__( ( always_inline ) ) __STATIC_INLINE void __set_MSP(uint32_t topOfMainStack) { - __ASM volatile ("MSR msp, %0\n" : : "r" (topOfMainStack) : "sp"); + __ASM volatile ("MSR msp, %0\n" : : "r" (topOfMainStack) : ); }