aboutsummaryrefslogtreecommitdiff
path: root/mk/config.mk
diff options
context:
space:
mode:
authorJens Wiklander <jens.wiklander@linaro.org>2015-12-06 11:01:54 +0100
committerPascal Brand <pascal.brand@st.com>2016-02-10 06:38:36 +0100
commit923c1f343db556196600a1788c437715083264f8 (patch)
treea6573f73668c47c70bc94e6edf83e55b178772b7 /mk/config.mk
parenta1989c09670c506604b60b16d54281a633c5eb41 (diff)
core: stack unwinding
Adds support for stack unwinding, currently only done for fatal aborts from kernel mode if CFG_CORE_UNWIND = y The ARMv7/Aarch32 implementation uses -funwind-tables to generate frame unwinding information which is quite large. Enabling stack unwinding currently consumes ~8 KiB. The code to parse the frame unwind information is imported from FreeBSD. The Aarch64 implementation takes advantage of the frame pointer and has minimal overhead. The core code to unwind the stack is imported from FreeBSD. Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32/64) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'mk/config.mk')
-rw-r--r--mk/config.mk6
1 files changed, 6 insertions, 0 deletions
diff --git a/mk/config.mk b/mk/config.mk
index aa278fea..546d6483 100644
--- a/mk/config.mk
+++ b/mk/config.mk
@@ -116,3 +116,9 @@ CFG_LIBUTILS_WITH_ISOC ?= y
# nothing with ` -mgeneral-regs-only`)
# With CFG_TA_FLOAT_SUPPORT enabled TA code is free use floating point types
CFG_TA_FLOAT_SUPPORT ?= y
+
+# Enable stack unwinding for aborts from kernel mode if CFG_TEE_CORE_DEBUG
+# is enabled
+ifeq ($(CFG_TEE_CORE_DEBUG),1)
+CFG_CORE_UNWIND ?= y
+endif