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>
This commit is contained in:
Antonio Nino Diaz 2018-08-23 15:13:58 +01:00
parent 0c62883f7e
commit 3e530d8ea8
2 changed files with 15 additions and 3 deletions

View file

@ -27,7 +27,9 @@
#ifndef __ASSEMBLY__
#include <cdefs.h>
#include <console.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stdio.h>
/*
@ -90,7 +92,13 @@ void backtrace(const char *cookie);
#endif
void __dead2 do_panic(void);
#define panic() do_panic()
#define panic() \
do { \
backtrace(__func__); \
(void)console_flush(); \
do_panic(); \
} while (false)
/* Function called when stack protection check code detects a corrupted stack */
void __dead2 __stack_chk_fail(void);