12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef _LINUX_VERMAGIC_H
- #define _LINUX_VERMAGIC_H
- #ifndef INCLUDE_VERMAGIC
- #error "This header can be included from kernel/module.c or *.mod.c only"
- #endif
- #include <generated/utsrelease.h>
- #include <asm/vermagic.h>
- /* Simply sanity version stamp for modules. */
- #ifdef CONFIG_SMP
- #define MODULE_VERMAGIC_SMP "SMP "
- #else
- #define MODULE_VERMAGIC_SMP ""
- #endif
- #ifdef CONFIG_PREEMPT_BUILD
- #define MODULE_VERMAGIC_PREEMPT "preempt "
- #elif defined(CONFIG_PREEMPT_RT)
- #define MODULE_VERMAGIC_PREEMPT "preempt_rt "
- #else
- #define MODULE_VERMAGIC_PREEMPT ""
- #endif
- #ifdef CONFIG_MODULE_UNLOAD
- #define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload "
- #else
- #define MODULE_VERMAGIC_MODULE_UNLOAD ""
- #endif
- #ifdef CONFIG_MODVERSIONS
- #define MODULE_VERMAGIC_MODVERSIONS "modversions "
- #else
- #define MODULE_VERMAGIC_MODVERSIONS ""
- #endif
- #ifdef RANDSTRUCT
- #include <generated/randstruct_hash.h>
- #define MODULE_RANDSTRUCT "RANDSTRUCT_" RANDSTRUCT_HASHED_SEED
- #else
- #define MODULE_RANDSTRUCT
- #endif
- #define VERMAGIC_STRING \
- UTS_RELEASE " " \
- MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \
- MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \
- MODULE_ARCH_VERMAGIC \
- MODULE_RANDSTRUCT
- #endif /* _LINUX_VERMAGIC_H */
|