From aea71dbde0d7bc31d9ac40ee1905c884fbf7b0de Mon Sep 17 00:00:00 2001 From: Damien George Date: Fri, 4 May 2018 15:53:51 +1000 Subject: [PATCH] stm32/Makefile: Use -O2 to optimise compilation of lib/libc/string0.c. --- ports/stm32/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ports/stm32/Makefile b/ports/stm32/Makefile index 7daf4df4a9..99e2995ffb 100644 --- a/ports/stm32/Makefile +++ b/ports/stm32/Makefile @@ -350,6 +350,11 @@ OBJ += $(addprefix $(BUILD)/, $(SRC_USBDEV:.c=.o)) OBJ += $(addprefix $(BUILD)/, $(SRC_MOD:.c=.o)) OBJ += $(BUILD)/pins_$(BOARD).o +# This file contains performance critical functions so turn up the optimisation +# level. It doesn't add much to the code size and improves performance a bit. +# Don't use -O3 with this file because gcc tries to optimise memset in terms of itself. +$(BUILD)/lib/libc/string0.o: COPT += -O2 + # We put several files into the first 16K section with the ISRs. # If we compile these using -O0 then it won't fit. So if you really want these # to be compiled with -O0, then edit boards/common.ld (in the .isr_vector section)