vermagic.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #include <generated/utsrelease.h>
  3. /* Simply sanity version stamp for modules. */
  4. #ifdef CONFIG_SMP
  5. #define MODULE_VERMAGIC_SMP "SMP "
  6. #else
  7. #define MODULE_VERMAGIC_SMP ""
  8. #endif
  9. #ifdef CONFIG_PREEMPT
  10. #define MODULE_VERMAGIC_PREEMPT "preempt "
  11. #else
  12. #define MODULE_VERMAGIC_PREEMPT ""
  13. #endif
  14. #ifdef CONFIG_MODULE_UNLOAD
  15. #define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload "
  16. #else
  17. #define MODULE_VERMAGIC_MODULE_UNLOAD ""
  18. #endif
  19. #ifdef CONFIG_MODVERSIONS
  20. #define MODULE_VERMAGIC_MODVERSIONS "modversions "
  21. #else
  22. #define MODULE_VERMAGIC_MODVERSIONS ""
  23. #endif
  24. #ifndef MODULE_ARCH_VERMAGIC
  25. #define MODULE_ARCH_VERMAGIC ""
  26. #endif
  27. #ifdef RANDSTRUCT_PLUGIN
  28. #include <generated/randomize_layout_hash.h>
  29. #define MODULE_RANDSTRUCT_PLUGIN "RANDSTRUCT_PLUGIN_" RANDSTRUCT_HASHED_SEED
  30. #else
  31. #define MODULE_RANDSTRUCT_PLUGIN
  32. #endif
  33. #define VERMAGIC_STRING \
  34. UTS_RELEASE " " \
  35. MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \
  36. MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \
  37. MODULE_ARCH_VERMAGIC \
  38. MODULE_RANDSTRUCT_PLUGIN