linux/include/linux/vermagic.h
<<
>>
Prefs
   1/* 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 "
  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
  44