nrf/Makefile: Enable LTO by default only on newer gcc.
Older gcc/binutils linker does not support lto with wrap. Signed-off-by: Andrew Leech <andrew@alelec.net>
This commit is contained in:
committed by
Damien George
parent
56c1617384
commit
62e0fa04a7
@@ -129,7 +129,15 @@ CFLAGS_MCU_m4 = $(CFLAGS_CORTEX_M) -mtune=cortex-m4 -mcpu=cortex-m4 -mfpu=fpv4-s
|
|||||||
|
|
||||||
CFLAGS_MCU_m0 = $(CFLAGS_CORTEX_M) -fshort-enums -mtune=cortex-m0 -mcpu=cortex-m0 -mfloat-abi=soft
|
CFLAGS_MCU_m0 = $(CFLAGS_CORTEX_M) -fshort-enums -mtune=cortex-m0 -mcpu=cortex-m0 -mfloat-abi=soft
|
||||||
|
|
||||||
|
# linker wrap does not work with lto on older gcc/binutils: https://sourceware.org/bugzilla/show_bug.cgi?id=24406
|
||||||
|
GCC_VERSION = $(shell arm-none-eabi-gcc --version | sed -n -E 's:^arm.*([0-9]+\.[0-9]+\.[0-9]+).*$$:\1:p')
|
||||||
|
GCC_MAJOR_VERS = $(word 1,$(subst ., ,$(GCC_VERSION)))
|
||||||
|
ifeq ($(shell test $(GCC_MAJOR_VERS) -ge 10; echo $$?),0)
|
||||||
LTO ?= 1
|
LTO ?= 1
|
||||||
|
else
|
||||||
|
LTO ?= 0
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(LTO),1)
|
ifeq ($(LTO),1)
|
||||||
CFLAGS += -flto
|
CFLAGS += -flto
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user