summaryrefslogtreecommitdiff
path: root/lib/libc
diff options
context:
space:
mode:
authorAntonio Nino Diaz <antonio.ninodiaz@arm.com>2018-08-23 15:13:58 +0100
committerAntonio Nino Diaz <antonio.ninodiaz@arm.com>2018-08-30 09:21:53 +0100
commit3e530d8ea8336839f50f3265c8815c569527f99f (patch)
tree9d84439bef8e77665bcf18c079fb7955b91e2b2d /lib/libc
parent0c62883f7eed80f02c3585d7d0e408def0569f7c (diff)
backtrace: Print backtrace in assert() and panic()
When any of these functions is called the backtrace will be printed to the console. Change-Id: Id60842df824b320c485a9323ed6b80600f4ebe35 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/assert.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libc/assert.c b/lib/libc/assert.c
index fa12cb6b..8fa8f721 100644
--- a/lib/libc/assert.c
+++ b/lib/libc/assert.c
@@ -20,19 +20,23 @@
void __assert(const char *file, unsigned int line, const char *assertion)
{
printf("ASSERT: %s:%d:%s\n", file, line, assertion);
- console_flush();
+ backtrace("assert");
+ (void)console_flush();
plat_panic_handler();
}
#elif PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_INFO
void __assert(const char *file, unsigned int line)
{
printf("ASSERT: %s:%d\n", file, line);
- console_flush();
+ backtrace("assert");
+ (void)console_flush();
plat_panic_handler();
}
#else
void __assert(void)
{
+ backtrace("assert");
+ (void)console_flush();
plat_panic_handler();
}
#endif