1 // SPDX-License-Identifier: BSD-2-Clause
2 /*
3  * Copyright (c) 2014, STMicroelectronics International N.V.
4  */
5 #include <compiler.h>
6 #include <trace.h>
7 
8 #if defined(__KERNEL__)
9 # include <kernel/panic.h>
10 # define PANIC() panic()
11 #elif defined(__LDELF__)
12 # include <ldelf_syscalls.h>
13 # define PANIC() _ldelf_panic(2)
14 #else
15 # include <utee_syscalls.h>
16 # define PANIC() _utee_panic(TEE_ERROR_OVERFLOW)
17 #endif
18 
19 void *__stack_chk_guard __nex_data = (void *)0x00000aff;
20 
21 void __attribute__((noreturn)) __stack_chk_fail(void);
22 
__stack_chk_fail(void)23 void __stack_chk_fail(void)
24 {
25 	EMSG_RAW("stack smashing detected");
26 	while (1)
27 		PANIC();
28 }
29 
30