xref: /aosp_15_r20/external/arm-trusted-firmware/common/backtrace/backtrace.mk (revision 54fd6939e177f8ff529b10183254802c76df6d08)
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