From 596fb73927df4f9202729ff9d92a1db479a95ed7 Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 2 Jun 2020 16:24:53 +1000 Subject: [PATCH] qemu-arm: Support building in debug mode with DEBUG=1. Fixes issue #6095. --- ports/qemu-arm/Makefile | 4 ++-- ports/qemu-arm/startup.c | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ports/qemu-arm/Makefile b/ports/qemu-arm/Makefile index 430740ccf7..e7b6523f88 100644 --- a/ports/qemu-arm/Makefile +++ b/ports/qemu-arm/Makefile @@ -43,9 +43,9 @@ INC += -I$(BUILD) CFLAGS += $(INC) -Wall -Wpointer-arith -Wdouble-promotion -Wfloat-conversion -Werror -std=gnu99 $(COPT) \ -ffunction-sections -fdata-sections -#Debugging/Optimization +# Debugging/Optimization ifeq ($(DEBUG), 1) -CFLAGS += -g -DPENDSV_DEBUG +CFLAGS += -g COPT = -O0 else COPT += -Os -DNDEBUG diff --git a/ports/qemu-arm/startup.c b/ports/qemu-arm/startup.c index 002d5ef624..58bdf7af9e 100644 --- a/ports/qemu-arm/startup.c +++ b/ports/qemu-arm/startup.c @@ -1,4 +1,5 @@ #include +#include #include #include "uart.h" @@ -73,6 +74,14 @@ __attribute__((naked)) void exit(int status) { } } +#ifndef NDEBUG +void __assert_func(const char *file, int line, const char *func, const char *expr) { + (void)func; + printf("Assertion '%s' failed, at file %s:%d\n", expr, file, line); + exit(1); +} +#endif + // The following are needed for tinytest #include