Merge tag 'block-5.7-2020-05-22' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / include / linux / vermagic.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_VERMAGIC_H
3 #define _LINUX_VERMAGIC_H
4
5 #include <generated/utsrelease.h>
6 #include <asm/vermagic.h>
7
8 /* Simply sanity version stamp for modules. */
9 #ifdef CONFIG_SMP
10 #define MODULE_VERMAGIC_SMP "SMP "
11 #else
12 #define MODULE_VERMAGIC_SMP ""
13 #endif
14 #ifdef CONFIG_PREEMPT
15 #define MODULE_VERMAGIC_PREEMPT "preempt "
16 #elif defined(CONFIG_PREEMPT_RT)
17 #define MODULE_VERMAGIC_PREEMPT "preempt_rt "
18 #else
19 #define MODULE_VERMAGIC_PREEMPT ""
20 #endif
21 #ifdef CONFIG_MODULE_UNLOAD
22 #define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload "
23 #else
24 #define MODULE_VERMAGIC_MODULE_UNLOAD ""
25 #endif
26 #ifdef CONFIG_MODVERSIONS
27 #define MODULE_VERMAGIC_MODVERSIONS "modversions "
28 #else
29 #define MODULE_VERMAGIC_MODVERSIONS ""
30 #endif
31 #ifdef RANDSTRUCT_PLUGIN
32 #include <generated/randomize_layout_hash.h>
33 #define MODULE_RANDSTRUCT_PLUGIN "RANDSTRUCT_PLUGIN_" RANDSTRUCT_HASHED_SEED
34 #else
35 #define MODULE_RANDSTRUCT_PLUGIN
36 #endif
37
38 #define VERMAGIC_STRING                                                 \
39         UTS_RELEASE " "                                                 \
40         MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT                     \
41         MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS       \
42         MODULE_ARCH_VERMAGIC                                            \
43         MODULE_RANDSTRUCT_PLUGIN
44
45 #endif /* _LINUX_VERMAGIC_H */