From 726f4bf31630d68d46bf96ca1f46b07d9cdb2563 Mon Sep 17 00:00:00 2001 From: Renaud Fivet Date: Thu, 25 Feb 2021 10:15:55 +0800 Subject: [PATCH] Allow putchar() to be defined as a macro to pass regression test using older version of the toolchain. --- Makefile | 32 +++++++++++++++++++++----------- putchar.c | 4 ++-- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index b119a7a..a9ace33 100644 --- a/Makefile +++ b/Makefile @@ -5,23 +5,29 @@ ifeq (linux, $(findstring linux, $(MAKE_HOST))) INSTALLDIR = $(HOME)/Packages -#GCCDIR = $(INSTALLDIR)/gcc-arm-none-eabi-9-2019-q4-major -#GCCDIR = $(INSTALLDIR)/gcc-arm-none-eabi-9-2020-q2-update - GCCDIR = $(INSTALLDIR)/gcc-arm-none-eabi-10-2020-q4-major +#REVDIR = gcc-arm-none-eabi-9-2019-q4-major +#REVDIR = gcc-arm-none-eabi-9-2020-q2-update + REVDIR = gcc-arm-none-eabi-10-2020-q4-major else + DRIVE = d ifeq (cygwin, $(findstring cygwin, $(MAKE_HOST))) - DRIVE = /cygdrive/d + OSDRIVE = /cygdrive/$(DRIVE) else ifeq (msys, $(findstring msys, $(MAKE_HOST))) - DRIVE = /d + OSDRIVE = /$(DRIVE) else - DRIVE = D: + OSDRIVE = $(DRIVE): endif - INSTALLDIR = $(DRIVE)/Program Files (x86) -#GCCDIR = $(INSTALLDIR)/GNU Tools ARM Embedded/9 2019-q4-major -#GCCDIR = $(INSTALLDIR)/GNU Arm Embedded Toolchain/9 2020-q2-update - GCCDIR = $(INSTALLDIR)/GNU Arm Embedded Toolchain/10 2020-q4-major + INSTALLDIR = $(OSDRIVE)/Program Files (x86) +#REVDIR = GNU Tools ARM Embedded/5.4 2016q2 +#REVDIR = GNU Tools ARM Embedded/6 2017-q2-update +#REVDIR = GNU Tools ARM Embedded/7 2017-q4-major +#REVDIR = GNU Tools ARM Embedded/7 2018-q2-update +#REVDIR = GNU Tools ARM Embedded/9 2019-q4-major +#REVDIR = GNU Arm Embedded Toolchain/9 2020-q2-update + REVDIR = GNU Arm Embedded Toolchain/10 2020-q4-major endif +GCCDIR = $(INSTALLDIR)/$(REVDIR) export PATH := $(GCCDIR)/bin:$(PATH) BINPFX = @arm-none-eabi- @@ -62,10 +68,14 @@ LIBS = -l$(LIBSTEM) ### Build rules -.PHONY: clean all +.PHONY: clean all version all: $(PROJECT).hex $(PROJECT).bin +version: + @echo make $(MAKE_VERSION) $(MAKE_HOST) + @echo PATH="$(PATH)" + clean: @echo CLEAN @rm -f *.o *.elf *.map *.lst *.bin *.hex *.a diff --git a/putchar.c b/putchar.c index 7e1d598..7ff5281 100644 --- a/putchar.c +++ b/putchar.c @@ -1,10 +1,10 @@ /* putchar.c -- write a character to stdout */ -/* Copyright (c) 2020 Renaud Fivet */ +/* Copyright (c) 2020-2021 Renaud Fivet */ #include #include "system.h" /* kputc() */ -int putchar( int c) { +int (putchar)( int c) { /* putchar may be defined as macro in stdio.h */ kputc( c) ; return c ; }