diff options
| author | Simon John <git@the-jedi.co.uk> | 2016-10-11 15:23:36 +0100 |
|---|---|---|
| committer | Simon John <git@the-jedi.co.uk> | 2016-10-11 15:23:36 +0100 |
| commit | fe020380b604ea514594360eb77baaccd6533f68 (patch) | |
| tree | 14d01343ecb51210cd942dcd9863b286dbdda83d /Arduino.mk | |
| parent | f3f7684463a4b0de85adbeff11c90ecfbfb13edd (diff) | |
Changed LTO support check to avr-gcc > 4.9.0 as the 4.8.1 bundled with the IDE prior to 1.6.10
doesn't support LTO or plugins. Fixes Issue #456
So essentially LTO support will only be enabled with avr-gcc 4.9.2 which comes with 1.6.10 or later
and Debian, Ubuntu etc; not 4.8.1 which comes with IDE 1.6.9 and a few earlier versions.
Tested with:
* 1.6.8 (avr-gcc 4.8.1 which doesn't support LTO so uses avr-ar and doesn't set LTO flags)
* 1.6.12 (avr-gcc 4.9.2 which supports LTO so uses avr-gcc-ar and sets LTO flags)
* 1.0.5 with Debian avr-gcc 4.9.2 (supports LTO so uses avr-gcc-ar and sets LTO flags)
Diffstat (limited to 'Arduino.mk')
| -rw-r--r-- | Arduino.mk | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -1032,7 +1032,7 @@ CC_VERNUM = $(shell $(CC) -dumpversion | sed 's/\.//g') # moved from above so we can find version-dependant ar ifndef AR_NAME - ifeq ($(shell expr $(CC_VERNUM) '>' 480), 1) + ifeq ($(shell expr $(CC_VERNUM) '>' 490), 1) AR_NAME = avr-gcc-ar else AR_NAME = avr-ar @@ -1040,7 +1040,7 @@ ifndef AR_NAME endif ifndef CFLAGS_STD - ifeq ($(shell expr $(CC_VERNUM) '>' 480), 1) + ifeq ($(shell expr $(CC_VERNUM) '>' 490), 1) CFLAGS_STD = -std=gnu11 -flto -fno-fat-lto-objects else CFLAGS_STD = @@ -1051,7 +1051,7 @@ else endif ifndef CXXFLAGS_STD - ifeq ($(shell expr $(CC_VERNUM) '>' 480), 1) + ifeq ($(shell expr $(CC_VERNUM) '>' 490), 1) CXXFLAGS_STD = -std=gnu++11 -fno-threadsafe-statics -flto else CXXFLAGS_STD = @@ -1064,11 +1064,11 @@ endif CFLAGS += $(CFLAGS_STD) CXXFLAGS += -fpermissive -fno-exceptions $(CXXFLAGS_STD) ASFLAGS += -x assembler-with-cpp -ifeq ($(shell expr $(CC_VERNUM) '>' 480), 1) +ifeq ($(shell expr $(CC_VERNUM) '>' 490), 1) ASFLAGS += -flto endif LDFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -Wl,--gc-sections -O$(OPTIMIZATION_LEVEL) -ifeq ($(shell expr $(CC_VERNUM) '>' 480), 1) +ifeq ($(shell expr $(CC_VERNUM) '>' 490), 1) LDFLAGS += -flto -fuse-linker-plugin endif SIZEFLAGS ?= --mcu=$(MCU) -C |
