linkage.h 863 B

123456789101112131415161718192021222324252627282930313233343536
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __ASM_LINKAGE_H
  3. #define __ASM_LINKAGE_H
  4. #define __ALIGN .align 2
  5. #define __ALIGN_STR __stringify(__ALIGN)
  6. #define SYM_FUNC_START(name) \
  7. SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN) \
  8. .cfi_startproc;
  9. #define SYM_FUNC_START_NOALIGN(name) \
  10. SYM_START(name, SYM_L_GLOBAL, SYM_A_NONE) \
  11. .cfi_startproc;
  12. #define SYM_FUNC_START_LOCAL(name) \
  13. SYM_START(name, SYM_L_LOCAL, SYM_A_ALIGN) \
  14. .cfi_startproc;
  15. #define SYM_FUNC_START_LOCAL_NOALIGN(name) \
  16. SYM_START(name, SYM_L_LOCAL, SYM_A_NONE) \
  17. .cfi_startproc;
  18. #define SYM_FUNC_START_WEAK(name) \
  19. SYM_START(name, SYM_L_WEAK, SYM_A_ALIGN) \
  20. .cfi_startproc;
  21. #define SYM_FUNC_START_WEAK_NOALIGN(name) \
  22. SYM_START(name, SYM_L_WEAK, SYM_A_NONE) \
  23. .cfi_startproc;
  24. #define SYM_FUNC_END(name) \
  25. .cfi_endproc; \
  26. SYM_END(name, SYM_T_FUNC)
  27. #endif