hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/arch/x86/include/asm/linkage.h
....@@ -13,15 +13,33 @@
1313
1414 #ifdef __ASSEMBLY__
1515
16
-#define GLOBAL(name) \
17
- .globl name; \
18
- name:
19
-
2016 #if defined(CONFIG_X86_64) || defined(CONFIG_X86_ALIGNMENT_16)
2117 #define __ALIGN .p2align 4, 0x90
2218 #define __ALIGN_STR __stringify(__ALIGN)
2319 #endif
2420
21
+#if defined(CONFIG_RETHUNK) && !defined(__DISABLE_EXPORTS) && !defined(BUILD_VDSO)
22
+#define RET jmp __x86_return_thunk
23
+#else /* CONFIG_RETPOLINE */
24
+#ifdef CONFIG_SLS
25
+#define RET ret; int3
26
+#else
27
+#define RET ret
28
+#endif
29
+#endif /* CONFIG_RETPOLINE */
30
+
31
+#else /* __ASSEMBLY__ */
32
+
33
+#if defined(CONFIG_RETHUNK) && !defined(__DISABLE_EXPORTS) && !defined(BUILD_VDSO)
34
+#define ASM_RET "jmp __x86_return_thunk\n\t"
35
+#else /* CONFIG_RETPOLINE */
36
+#ifdef CONFIG_SLS
37
+#define ASM_RET "ret; int3\n\t"
38
+#else
39
+#define ASM_RET "ret\n\t"
40
+#endif
41
+#endif /* CONFIG_RETPOLINE */
42
+
2543 #endif /* __ASSEMBLY__ */
2644
2745 #endif /* _ASM_X86_LINKAGE_H */