19c6d1c50SAntonio Nino Diaz# 2*885ed9e0SBoyan Karatotev# Copyright (c) 2018-2025, Arm Limited and Contributors. All rights reserved. 39c6d1c50SAntonio Nino Diaz# 49c6d1c50SAntonio Nino Diaz# SPDX-License-Identifier: BSD-3-Clause 59c6d1c50SAntonio Nino Diaz# 69c6d1c50SAntonio Nino Diaz 79c6d1c50SAntonio Nino Diaz# Enable backtrace by default in DEBUG AArch64 builds 89c6d1c50SAntonio Nino Diazifeq (${ARCH},aarch32) 99c6d1c50SAntonio Nino Diaz ENABLE_BACKTRACE := 0 109c6d1c50SAntonio Nino Diazelse 119c6d1c50SAntonio Nino Diaz ENABLE_BACKTRACE := ${DEBUG} 129c6d1c50SAntonio Nino Diazendif 139c6d1c50SAntonio Nino Diaz 149c6d1c50SAntonio Nino Diazifeq (${ENABLE_BACKTRACE},1) 159c6d1c50SAntonio Nino Diaz # Force the compiler to include the frame pointer 16*885ed9e0SBoyan Karatotev cflags-common += -fno-omit-frame-pointer 179c6d1c50SAntonio Nino Diaz 189c6d1c50SAntonio Nino Diaz BL_COMMON_SOURCES += common/backtrace/backtrace.c 199c6d1c50SAntonio Nino Diazendif 209c6d1c50SAntonio Nino Diaz 219c6d1c50SAntonio Nino Diazifeq (${ARCH},aarch32) 229c6d1c50SAntonio Nino Diaz ifeq (${ENABLE_BACKTRACE},1) 239c6d1c50SAntonio Nino Diaz ifneq (${AARCH32_INSTRUCTION_SET},A32) 249c6d1c50SAntonio Nino Diaz $(error Error: AARCH32_INSTRUCTION_SET=A32 is needed \ 259c6d1c50SAntonio Nino Diaz for ENABLE_BACKTRACE when compiling for AArch32.) 269c6d1c50SAntonio Nino Diaz endif 279c6d1c50SAntonio Nino Diaz endif 289c6d1c50SAntonio Nino Diazendif 299c6d1c50SAntonio Nino Diaz 309c6d1c50SAntonio Nino Diaz$(eval $(call assert_boolean,ENABLE_BACKTRACE)) 319c6d1c50SAntonio Nino Diaz$(eval $(call add_define,ENABLE_BACKTRACE)) 32