Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __ASM_LINKAGE_H
3#define __ASM_LINKAGE_H
4
5#define __ALIGN .align 2
6#define __ALIGN_STR __stringify(__ALIGN)
7
8#define SYM_FUNC_START(name) \
9 SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN) \
10 .cfi_startproc;
11
12#define SYM_FUNC_START_NOALIGN(name) \
13 SYM_START(name, SYM_L_GLOBAL, SYM_A_NONE) \
14 .cfi_startproc;
15
16#define SYM_FUNC_START_LOCAL(name) \
17 SYM_START(name, SYM_L_LOCAL, SYM_A_ALIGN) \
18 .cfi_startproc;
19
20#define SYM_FUNC_START_LOCAL_NOALIGN(name) \
21 SYM_START(name, SYM_L_LOCAL, SYM_A_NONE) \
22 .cfi_startproc;
23
24#define SYM_FUNC_START_WEAK(name) \
25 SYM_START(name, SYM_L_WEAK, SYM_A_ALIGN) \
26 .cfi_startproc;
27
28#define SYM_FUNC_START_WEAK_NOALIGN(name) \
29 SYM_START(name, SYM_L_WEAK, SYM_A_NONE) \
30 .cfi_startproc;
31
32#define SYM_FUNC_END(name) \
33 .cfi_endproc; \
34 SYM_END(name, SYM_T_FUNC)
35
36#define SYM_CODE_START(name) \
37 SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN) \
38 .cfi_startproc;
39
40#define SYM_CODE_END(name) \
41 .cfi_endproc; \
42 SYM_END(name, SYM_T_NONE)
43
44#endif