1 #ifndef _LINUX_LINKAGE_H
2 #define _LINUX_LINKAGE_H
4 #include <linux/config.h>
7 #define CPP_ASMLINKAGE extern "C"
13 #define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
14 #elif defined __ia64__
15 #define asmlinkage CPP_ASMLINKAGE __attribute__((syscall_linkage))
17 #define asmlinkage CPP_ASMLINKAGE
20 #define SYMBOL_NAME_STR(X) #X
21 #define SYMBOL_NAME(X) X
23 #define SYMBOL_NAME_LABEL(X) X##:
25 #define SYMBOL_NAME_LABEL(X) X/**/:
29 #define __ALIGN .align 0
30 #define __ALIGN_STR ".align 0"
33 #define __ALIGN .align 4
34 #define __ALIGN_STR ".align 4"
37 #define __ALIGN .balign 4
38 #define __ALIGN_STR ".balign 4"
40 #if defined(__i386__) && defined(CONFIG_X86_ALIGNMENT_16)
41 #define __ALIGN .align 16,0x90
42 #define __ALIGN_STR ".align 16,0x90"
44 #define __ALIGN .align 4,0x90
45 #define __ALIGN_STR ".align 4,0x90"
48 #endif /* __mc68000__ */
54 #define ALIGN_STR __ALIGN_STR
57 .globl SYMBOL_NAME(name); \
59 SYMBOL_NAME_LABEL(name)