summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile29
-rw-r--r--common/backtrace/backtrace.c (renamed from common/backtrace.c)0
-rw-r--r--common/backtrace/backtrace.mk31
3 files changed, 33 insertions, 27 deletions
diff --git a/Makefile b/Makefile
index 74d51804..c79264bc 100644
--- a/Makefile
+++ b/Makefile
@@ -108,13 +108,6 @@ else
LOG_LEVEL := 20
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)
ifeq (${BUILD_STRING},)
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)
-# 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 += --gc-sections
TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH))
@@ -238,10 +226,6 @@ ifeq ($(notdir $(CC)),armclang)
BL_COMMON_SOURCES += lib/${ARCH}/armclang_printf.S
endif
-ifeq (${ENABLE_BACKTRACE},1)
-BL_COMMON_SOURCES += common/backtrace.c
-endif
-
INCLUDES += -Iinclude \
-Iinclude/bl1 \
-Iinclude/bl2 \
@@ -270,6 +254,8 @@ INCLUDES += -Iinclude \
${SPD_INCLUDES} \
-Iinclude/tools_share
+include common/backtrace/backtrace.mk
+
################################################################################
# Generic definitions
################################################################################
@@ -369,15 +355,6 @@ endif
# 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 PRELOADED_BL33_BASE
$(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,ENABLE_AMU))
$(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_PIE))
$(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,ENABLE_AMU))
$(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_PIE))
$(eval $(call add_define,ENABLE_PMF))
diff --git a/common/backtrace.c b/common/backtrace/backtrace.c
index a91d0657..a91d0657 100644
--- a/common/backtrace.c
+++ b/common/backtrace/backtrace.c
diff --git a/common/backtrace/backtrace.mk b/common/backtrace/backtrace.mk
new file mode 100644
index 00000000..e669331c
--- /dev/null
+++ b/common/backtrace/backtrace.mk
@@ -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))