When any of these functions is called the backtrace will be printed to
the console.
Change-Id: Id60842df824b320c485a9323ed6b80600f4ebe35
Signed-off-by: Antonio Nino Diaz <[email protected]>
#ifndef __ASSEMBLY__
#include <cdefs.h>
+#include <console.h>
#include <stdarg.h>
+#include <stdbool.h>
#include <stdio.h>
/*
#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);
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