1*91f16700Schasinglulu# 2*91f16700Schasinglulu# Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu# 4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu# 6*91f16700Schasinglulu 7*91f16700Schasinglulu# Enable backtrace by default in DEBUG AArch64 builds 8*91f16700Schasingluluifeq (${ARCH},aarch32) 9*91f16700Schasinglulu ENABLE_BACKTRACE := 0 10*91f16700Schasingluluelse 11*91f16700Schasinglulu ENABLE_BACKTRACE := ${DEBUG} 12*91f16700Schasingluluendif 13*91f16700Schasinglulu 14*91f16700Schasingluluifeq (${ENABLE_BACKTRACE},1) 15*91f16700Schasinglulu # Force the compiler to include the frame pointer 16*91f16700Schasinglulu TF_CFLAGS += -fno-omit-frame-pointer 17*91f16700Schasinglulu 18*91f16700Schasinglulu BL_COMMON_SOURCES += common/backtrace/backtrace.c 19*91f16700Schasingluluendif 20*91f16700Schasinglulu 21*91f16700Schasingluluifeq (${ARCH},aarch32) 22*91f16700Schasinglulu ifeq (${ENABLE_BACKTRACE},1) 23*91f16700Schasinglulu ifneq (${AARCH32_INSTRUCTION_SET},A32) 24*91f16700Schasinglulu $(error Error: AARCH32_INSTRUCTION_SET=A32 is needed \ 25*91f16700Schasinglulu for ENABLE_BACKTRACE when compiling for AArch32.) 26*91f16700Schasinglulu endif 27*91f16700Schasinglulu endif 28*91f16700Schasingluluendif 29*91f16700Schasinglulu 30*91f16700Schasinglulu$(eval $(call assert_boolean,ENABLE_BACKTRACE)) 31*91f16700Schasinglulu$(eval $(call add_define,ENABLE_BACKTRACE)) 32