1
2 #include <generated/utsrelease.h>
3
4
5 #ifdef CONFIG_SMP
6 #define MODULE_VERMAGIC_SMP "SMP "
7 #else
8 #define MODULE_VERMAGIC_SMP ""
9 #endif
10 #ifdef CONFIG_PREEMPT
11 #define MODULE_VERMAGIC_PREEMPT "preempt "
12 #elif defined(CONFIG_PREEMPT_RT)
13 #define MODULE_VERMAGIC_PREEMPT "preempt_rt "
14 #else
15 #define MODULE_VERMAGIC_PREEMPT ""
16 #endif
17 #ifdef CONFIG_MODULE_UNLOAD
18 #define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload "
19 #else
20 #define MODULE_VERMAGIC_MODULE_UNLOAD ""
21 #endif
22 #ifdef CONFIG_MODVERSIONS
23 #define MODULE_VERMAGIC_MODVERSIONS "modversions "
24 #else
25 #define MODULE_VERMAGIC_MODVERSIONS ""
26 #endif
27 #ifndef MODULE_ARCH_VERMAGIC
28 #define MODULE_ARCH_VERMAGIC ""
29 #endif
30 #ifdef RANDSTRUCT_PLUGIN
31 #include <generated/randomize_layout_hash.h>
32 #define MODULE_RANDSTRUCT_PLUGIN "RANDSTRUCT_PLUGIN_" RANDSTRUCT_HASHED_SEED
33 #else
34 #define MODULE_RANDSTRUCT_PLUGIN
35 #endif
36
37 #define VERMAGIC_STRING \
38 UTS_RELEASE " " \
39 MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \
40 MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \
41 MODULE_ARCH_VERMAGIC \
42 MODULE_RANDSTRUCT_PLUGIN
43