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