18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __ASM_LINKAGE_H
38c2ecf20Sopenharmony_ci#define __ASM_LINKAGE_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#define __ALIGN		.align 2
68c2ecf20Sopenharmony_ci#define __ALIGN_STR	__stringify(__ALIGN)
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#define SYM_FUNC_START(name)				\
98c2ecf20Sopenharmony_ci	SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)	\
108c2ecf20Sopenharmony_ci	.cfi_startproc;
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#define SYM_FUNC_START_NOALIGN(name)			\
138c2ecf20Sopenharmony_ci	SYM_START(name, SYM_L_GLOBAL, SYM_A_NONE)	\
148c2ecf20Sopenharmony_ci	.cfi_startproc;
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#define SYM_FUNC_START_LOCAL(name)			\
178c2ecf20Sopenharmony_ci	SYM_START(name, SYM_L_LOCAL, SYM_A_ALIGN)	\
188c2ecf20Sopenharmony_ci	.cfi_startproc;
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci#define SYM_FUNC_START_LOCAL_NOALIGN(name)		\
218c2ecf20Sopenharmony_ci	SYM_START(name, SYM_L_LOCAL, SYM_A_NONE)	\
228c2ecf20Sopenharmony_ci	.cfi_startproc;
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci#define SYM_FUNC_START_WEAK(name)			\
258c2ecf20Sopenharmony_ci	SYM_START(name, SYM_L_WEAK, SYM_A_ALIGN)	\
268c2ecf20Sopenharmony_ci	.cfi_startproc;
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci#define SYM_FUNC_START_WEAK_NOALIGN(name)		\
298c2ecf20Sopenharmony_ci	SYM_START(name, SYM_L_WEAK, SYM_A_NONE)		\
308c2ecf20Sopenharmony_ci	.cfi_startproc;
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci#define SYM_FUNC_END(name)				\
338c2ecf20Sopenharmony_ci	.cfi_endproc;					\
348c2ecf20Sopenharmony_ci	SYM_END(name, SYM_T_FUNC)
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci#define SYM_CODE_START(name)				\
378c2ecf20Sopenharmony_ci	SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN)	\
388c2ecf20Sopenharmony_ci	.cfi_startproc;
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci#define SYM_CODE_END(name)				\
418c2ecf20Sopenharmony_ci	.cfi_endproc;					\
428c2ecf20Sopenharmony_ci	SYM_END(name, SYM_T_NONE)
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci#endif
45