diff options
author | Stefan Kerkmann <karlk90@pm.me> | 2022-02-27 04:05:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-26 19:05:03 -0800 |
commit | 156f0561f2e9865eb76a79742d8224cdd7100f27 (patch) | |
tree | a431db28d19ef49004600d6be69e738cc0a4c672 /platforms/avr | |
parent | cb8528c33cafbd609a19ddc749a6c2eb4e611992 (diff) | |
download | qmk_firmware-156f0561f2e9865eb76a79742d8224cdd7100f27.tar.gz qmk_firmware-156f0561f2e9865eb76a79742d8224cdd7100f27.zip |
[Core] Squeeze AVR some more with `-mrelax` and `-mcall-prologues` (#16269)
Diffstat (limited to 'platforms/avr')
-rw-r--r-- | platforms/avr/platform.mk | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/platforms/avr/platform.mk b/platforms/avr/platform.mk index 4d9cafaeef..9f304d2e20 100644 --- a/platforms/avr/platform.mk +++ b/platforms/avr/platform.mk @@ -18,6 +18,13 @@ COMPILEFLAGS += -ffunction-sections COMPILEFLAGS += -fdata-sections COMPILEFLAGS += -fpack-struct COMPILEFLAGS += -fshort-enums +COMPILEFLAGS += -mcall-prologues + +# Linker relaxation is only possible if +# link time optimizations are not enabled. +ifeq ($(strip $(LTO_ENABLE)), no) + COMPILEFLAGS += -mrelax +endif ASFLAGS += $(AVR_ASFLAGS) @@ -28,7 +35,7 @@ CFLAGS += -fno-strict-aliasing CXXFLAGS += $(COMPILEFLAGS) CXXFLAGS += -fno-exceptions -std=c++11 -LDFLAGS +=-Wl,--gc-sections +LDFLAGS += -Wl,--gc-sections OPT_DEFS += -DF_CPU=$(F_CPU)UL |