blob: 9aced11e90000c45926045e5e0c6ea2e2c35f36c [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* SPDX-License-Identifier: GPL-2.0 */
2#include <generated/utsrelease.h>
3
4/* Simply sanity version stamp for modules. */
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 "
David Brazdil0f672f62019-12-10 10:32:29 +000012#elif defined(CONFIG_PREEMPT_RT)
13#define MODULE_VERMAGIC_PREEMPT "preempt_rt "
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000014#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