xref: /optee_os/ldelf/asan.h (revision 4cafd8a3f88594ce06758c2a85b59c2d32a6ac7e)
1*4cafd8a3SAleksandr Iashchenko /* SPDX-License-Identifier: BSD-2-Clause */
2*4cafd8a3SAleksandr Iashchenko /*
3*4cafd8a3SAleksandr Iashchenko  * Copyright (c) 2026, Linutronix GmbH
4*4cafd8a3SAleksandr Iashchenko  */
5*4cafd8a3SAleksandr Iashchenko 
6*4cafd8a3SAleksandr Iashchenko #ifndef __LDELF_ASAN_H
7*4cafd8a3SAleksandr Iashchenko #define __LDELF_ASAN_H
8*4cafd8a3SAleksandr Iashchenko 
9*4cafd8a3SAleksandr Iashchenko #include <asan.h>
10*4cafd8a3SAleksandr Iashchenko #include <tee_api_defines.h>
11*4cafd8a3SAleksandr Iashchenko 
12*4cafd8a3SAleksandr Iashchenko #ifdef CFG_CORE_SANITIZE_KADDRESS
13*4cafd8a3SAleksandr Iashchenko 
14*4cafd8a3SAleksandr Iashchenko /* Provided by the linker script  */
15*4cafd8a3SAleksandr Iashchenko extern const vaddr_t __init_array_start;
16*4cafd8a3SAleksandr Iashchenko extern const vaddr_t __init_array_end;
17*4cafd8a3SAleksandr Iashchenko extern char __end[], __text_start[];
18*4cafd8a3SAleksandr Iashchenko 
19*4cafd8a3SAleksandr Iashchenko TEE_Result asan_init_ldelf(void);
20*4cafd8a3SAleksandr Iashchenko #else
asan_init_ldelf(void)21*4cafd8a3SAleksandr Iashchenko static inline TEE_Result asan_init_ldelf(void)
22*4cafd8a3SAleksandr Iashchenko {
23*4cafd8a3SAleksandr Iashchenko 	return TEE_SUCCESS;
24*4cafd8a3SAleksandr Iashchenko }
25*4cafd8a3SAleksandr Iashchenko #endif
26*4cafd8a3SAleksandr Iashchenko 
27*4cafd8a3SAleksandr Iashchenko #endif /*__LDELF_ASAN_H*/
28