backtrace: Extract rules from root Makefile
It's better to have them in a separate file instead of having them spread across the Makefile. This is what the stack protector is already doing. Change-Id: Id30742c0af10de5ea6d10674ca25bf52b0f2b262 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
This commit is contained in:
parent
cabe0a3180
commit
9c6d1c5070
29
Makefile
29
Makefile
|
@ -108,13 +108,6 @@ else
|
||||||
LOG_LEVEL := 20
|
LOG_LEVEL := 20
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Enable backtrace by default in DEBUG AArch64 builds
|
|
||||||
ifeq (${ARCH},aarch32)
|
|
||||||
ENABLE_BACKTRACE := 0
|
|
||||||
else
|
|
||||||
ENABLE_BACKTRACE := ${DEBUG}
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Default build string (git branch and commit)
|
# Default build string (git branch and commit)
|
||||||
ifeq (${BUILD_STRING},)
|
ifeq (${BUILD_STRING},)
|
||||||
BUILD_STRING := $(shell git describe --always --dirty --tags 2> /dev/null)
|
BUILD_STRING := $(shell git describe --always --dirty --tags 2> /dev/null)
|
||||||
|
@ -206,11 +199,6 @@ TF_CFLAGS += $(CPPFLAGS) $(TF_CFLAGS_$(ARCH)) \
|
||||||
|
|
||||||
GCC_V_OUTPUT := $(shell $(CC) -v 2>&1)
|
GCC_V_OUTPUT := $(shell $(CC) -v 2>&1)
|
||||||
|
|
||||||
# Force the compiler to include the frame pointer
|
|
||||||
ifeq (${ENABLE_BACKTRACE},1)
|
|
||||||
TF_CFLAGS += -fno-omit-frame-pointer
|
|
||||||
endif
|
|
||||||
|
|
||||||
TF_LDFLAGS += --fatal-warnings -O1
|
TF_LDFLAGS += --fatal-warnings -O1
|
||||||
TF_LDFLAGS += --gc-sections
|
TF_LDFLAGS += --gc-sections
|
||||||
TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH))
|
TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH))
|
||||||
|
@ -238,10 +226,6 @@ ifeq ($(notdir $(CC)),armclang)
|
||||||
BL_COMMON_SOURCES += lib/${ARCH}/armclang_printf.S
|
BL_COMMON_SOURCES += lib/${ARCH}/armclang_printf.S
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (${ENABLE_BACKTRACE},1)
|
|
||||||
BL_COMMON_SOURCES += common/backtrace.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
INCLUDES += -Iinclude \
|
INCLUDES += -Iinclude \
|
||||||
-Iinclude/bl1 \
|
-Iinclude/bl1 \
|
||||||
-Iinclude/bl2 \
|
-Iinclude/bl2 \
|
||||||
|
@ -270,6 +254,8 @@ INCLUDES += -Iinclude \
|
||||||
${SPD_INCLUDES} \
|
${SPD_INCLUDES} \
|
||||||
-Iinclude/tools_share
|
-Iinclude/tools_share
|
||||||
|
|
||||||
|
include common/backtrace/backtrace.mk
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Generic definitions
|
# Generic definitions
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -369,15 +355,6 @@ endif
|
||||||
# Check incompatible options
|
# Check incompatible options
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
ifeq (${ARCH},aarch32)
|
|
||||||
ifeq (${ENABLE_BACKTRACE},1)
|
|
||||||
ifneq (${AARCH32_INSTRUCTION_SET},A32)
|
|
||||||
$(error Error: AARCH32_INSTRUCTION_SET=A32 is needed \
|
|
||||||
for ENABLE_BACKTRACE when compiling for AArch32.)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef EL3_PAYLOAD_BASE
|
ifdef EL3_PAYLOAD_BASE
|
||||||
ifdef PRELOADED_BL33_BASE
|
ifdef PRELOADED_BL33_BASE
|
||||||
$(warning "PRELOADED_BL33_BASE and EL3_PAYLOAD_BASE are \
|
$(warning "PRELOADED_BL33_BASE and EL3_PAYLOAD_BASE are \
|
||||||
|
@ -568,7 +545,6 @@ $(eval $(call assert_boolean,DYN_DISABLE_AUTH))
|
||||||
$(eval $(call assert_boolean,EL3_EXCEPTION_HANDLING))
|
$(eval $(call assert_boolean,EL3_EXCEPTION_HANDLING))
|
||||||
$(eval $(call assert_boolean,ENABLE_AMU))
|
$(eval $(call assert_boolean,ENABLE_AMU))
|
||||||
$(eval $(call assert_boolean,ENABLE_ASSERTIONS))
|
$(eval $(call assert_boolean,ENABLE_ASSERTIONS))
|
||||||
$(eval $(call assert_boolean,ENABLE_BACKTRACE))
|
|
||||||
$(eval $(call assert_boolean,ENABLE_MPAM_FOR_LOWER_ELS))
|
$(eval $(call assert_boolean,ENABLE_MPAM_FOR_LOWER_ELS))
|
||||||
$(eval $(call assert_boolean,ENABLE_PIE))
|
$(eval $(call assert_boolean,ENABLE_PIE))
|
||||||
$(eval $(call assert_boolean,ENABLE_PMF))
|
$(eval $(call assert_boolean,ENABLE_PMF))
|
||||||
|
@ -619,7 +595,6 @@ $(eval $(call add_define,CTX_INCLUDE_FPREGS))
|
||||||
$(eval $(call add_define,EL3_EXCEPTION_HANDLING))
|
$(eval $(call add_define,EL3_EXCEPTION_HANDLING))
|
||||||
$(eval $(call add_define,ENABLE_AMU))
|
$(eval $(call add_define,ENABLE_AMU))
|
||||||
$(eval $(call add_define,ENABLE_ASSERTIONS))
|
$(eval $(call add_define,ENABLE_ASSERTIONS))
|
||||||
$(eval $(call add_define,ENABLE_BACKTRACE))
|
|
||||||
$(eval $(call add_define,ENABLE_MPAM_FOR_LOWER_ELS))
|
$(eval $(call add_define,ENABLE_MPAM_FOR_LOWER_ELS))
|
||||||
$(eval $(call add_define,ENABLE_PIE))
|
$(eval $(call add_define,ENABLE_PIE))
|
||||||
$(eval $(call add_define,ENABLE_PMF))
|
$(eval $(call add_define,ENABLE_PMF))
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
#
|
||||||
|
|
||||||
|
# Enable backtrace by default in DEBUG AArch64 builds
|
||||||
|
ifeq (${ARCH},aarch32)
|
||||||
|
ENABLE_BACKTRACE := 0
|
||||||
|
else
|
||||||
|
ENABLE_BACKTRACE := ${DEBUG}
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq (${ENABLE_BACKTRACE},1)
|
||||||
|
# Force the compiler to include the frame pointer
|
||||||
|
TF_CFLAGS += -fno-omit-frame-pointer
|
||||||
|
|
||||||
|
BL_COMMON_SOURCES += common/backtrace/backtrace.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq (${ARCH},aarch32)
|
||||||
|
ifeq (${ENABLE_BACKTRACE},1)
|
||||||
|
ifneq (${AARCH32_INSTRUCTION_SET},A32)
|
||||||
|
$(error Error: AARCH32_INSTRUCTION_SET=A32 is needed \
|
||||||
|
for ENABLE_BACKTRACE when compiling for AArch32.)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(eval $(call assert_boolean,ENABLE_BACKTRACE))
|
||||||
|
$(eval $(call add_define,ENABLE_BACKTRACE))
|
Loading…
Reference in New Issue