summaryrefslogtreecommitdiff
path: root/platforms
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2024-03-09 21:40:19 +1100
committerGitHub <noreply@github.com>2024-03-09 21:40:19 +1100
commit900e79febebaa6e8c682755442a385dc6f2ed703 (patch)
tree7a950302d76b0a399658e91b0f261ca7bb294820 /platforms
parentfec2323089ab38262195eda4e68db7d0d6c9e7c7 (diff)
Attempt to deal with GCC 13+ and rv32 arch extensions. (#23086)
Diffstat (limited to 'platforms')
-rw-r--r--platforms/chibios/platform.mk11
1 files changed, 11 insertions, 0 deletions
diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk
index f38a888012..b13eed39be 100644
--- a/platforms/chibios/platform.mk
+++ b/platforms/chibios/platform.mk
@@ -402,6 +402,17 @@ ifeq ($(strip $(MCU)), risc-v)
402 -mabi=$(MCU_ABI) \ 402 -mabi=$(MCU_ABI) \
403 -mcmodel=$(MCU_CMODEL) \ 403 -mcmodel=$(MCU_CMODEL) \
404 -mstrict-align 404 -mstrict-align
405
406 # Deal with different arch revisions and gcc renaming them
407 ifneq ($(shell echo 'int main() { asm("csrc 0x300,8"); return 0; }' | $(TOOLCHAIN)gcc $(MCUFLAGS) $(TOOLCHAIN_CFLAGS) -x c -o /dev/null - 2>/dev/null >/dev/null; echo $$?),0)
408 MCUFLAGS = -march=$(MCU_ARCH)_zicsr \
409 -mabi=$(MCU_ABI) \
410 -mcmodel=$(MCU_CMODEL) \
411 -mstrict-align
412 ifneq ($(shell echo 'int main() { asm("csrc 0x300,8"); return 0; }' | $(TOOLCHAIN)gcc $(MCUFLAGS) $(TOOLCHAIN_CFLAGS) -x c -o /dev/null - 2>/dev/null >/dev/null; echo $$?),0)
413 $(call CATASTROPHIC_ERROR,Incompatible toolchain,No compatible RISC-V toolchain found. Can't work out correct architecture.)
414 endif
415 endif
405else 416else
406 # ARM toolchain specific configuration 417 # ARM toolchain specific configuration
407 TOOLCHAIN ?= arm-none-eabi- 418 TOOLCHAIN ?= arm-none-eabi-