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