Merge branch 'next'
This commit is contained in:
26
Makefile
26
Makefile
@@ -521,8 +521,8 @@ env_h := include/generated/environment.h
|
||||
|
||||
no-dot-config-targets := clean clobber mrproper distclean \
|
||||
help %docs check% coccicheck \
|
||||
ubootversion backup tests check qcheck tcheck pylint \
|
||||
pylint_err
|
||||
ubootversion backup tests check pcheck qcheck tcheck \
|
||||
pylint pylint_err
|
||||
|
||||
config-targets := 0
|
||||
mixed-targets := 0
|
||||
@@ -643,6 +643,13 @@ export CFLAGS_EFI # Compiler flags to add when building EFI app
|
||||
export CFLAGS_NON_EFI # Compiler flags to remove when building EFI app
|
||||
export EFI_TARGET # binutils target if EFI is natively supported
|
||||
|
||||
export LTO_ENABLE
|
||||
|
||||
# This is y if LTO is enabled for this build. See NO_LTO=1 to disable LTO
|
||||
ifeq ($(NO_LTO),)
|
||||
LTO_ENABLE=$(if $(CONFIG_LTO),y)
|
||||
endif
|
||||
|
||||
# If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use
|
||||
# that (or fail if absent). Otherwise, search for a linker script in a
|
||||
# standard location.
|
||||
@@ -708,16 +715,16 @@ endif
|
||||
LTO_CFLAGS :=
|
||||
LTO_FINAL_LDFLAGS :=
|
||||
export LTO_CFLAGS LTO_FINAL_LDFLAGS
|
||||
ifdef CONFIG_LTO
|
||||
ifeq ($(LTO_ENABLE),y)
|
||||
ifeq ($(cc-name),clang)
|
||||
LTO_CFLAGS += -flto
|
||||
LTO_CFLAGS += -DLTO_ENABLE -flto
|
||||
LTO_FINAL_LDFLAGS += -flto
|
||||
|
||||
AR = $(shell $(CC) -print-prog-name=llvm-ar)
|
||||
NM = $(shell $(CC) -print-prog-name=llvm-nm)
|
||||
else
|
||||
NPROC := $(shell nproc 2>/dev/null || echo 1)
|
||||
LTO_CFLAGS += -flto=$(NPROC)
|
||||
LTO_CFLAGS += -DLTO_ENABLE -flto=$(NPROC)
|
||||
LTO_FINAL_LDFLAGS += -fuse-linker-plugin -flto=$(NPROC)
|
||||
|
||||
# use plugin aware tools
|
||||
@@ -1467,6 +1474,7 @@ endif
|
||||
|
||||
u-boot-spl.kwb: u-boot.bin spl/u-boot-spl.bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
$(BOARD_SIZE_CHECK)
|
||||
|
||||
u-boot.sha1: u-boot.bin
|
||||
tools/ubsha1 u-boot.bin
|
||||
@@ -1724,7 +1732,7 @@ ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(ARCH)/Makefile.postlink)
|
||||
|
||||
# Generate linker list symbols references to force compiler to not optimize
|
||||
# them away when compiling with LTO
|
||||
ifdef CONFIG_LTO
|
||||
ifeq ($(LTO_ENABLE),y)
|
||||
u-boot-keep-syms-lto := keep-syms-lto.o
|
||||
u-boot-keep-syms-lto_c := $(patsubst %.o,%.c,$(u-boot-keep-syms-lto))
|
||||
|
||||
@@ -1746,7 +1754,7 @@ endif
|
||||
|
||||
# Rule to link u-boot
|
||||
# May be overridden by arch/$(ARCH)/config.mk
|
||||
ifdef CONFIG_LTO
|
||||
ifeq ($(LTO_ENABLE),y)
|
||||
quiet_cmd_u-boot__ ?= LTO $@
|
||||
cmd_u-boot__ ?= \
|
||||
$(CC) -nostdlib -nostartfiles \
|
||||
@@ -2318,6 +2326,7 @@ help:
|
||||
@echo 'Test targets:'
|
||||
@echo ''
|
||||
@echo ' check - Run all automated tests that use sandbox'
|
||||
@echo ' pcheck - Run quick automated tests in parallel'
|
||||
@echo ' qcheck - Run quick automated tests that use sandbox'
|
||||
@echo ' tcheck - Run quick automated tests on tools'
|
||||
@echo ' pylint - Run pylint on all Python files'
|
||||
@@ -2363,6 +2372,9 @@ help:
|
||||
tests check:
|
||||
$(srctree)/test/run
|
||||
|
||||
pcheck:
|
||||
$(srctree)/test/run parallel
|
||||
|
||||
qcheck:
|
||||
$(srctree)/test/run quick
|
||||
|
||||
|
||||
Reference in New Issue
Block a user