Makefile 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. # SPDX-License-Identifier: GPL-2.0
  2. #
  3. # Makefile for KernelMemorySanitizer (KMSAN).
  4. #
  5. #
  6. obj-y := core.o instrumentation.o init.o hooks.o report.o shadow.o
  7. KMSAN_SANITIZE := n
  8. KCOV_INSTRUMENT := n
  9. UBSAN_SANITIZE := n
  10. # Disable instrumentation of KMSAN runtime with other tools.
  11. CC_FLAGS_KMSAN_RUNTIME := -fno-stack-protector
  12. CC_FLAGS_KMSAN_RUNTIME += $(call cc-option,-fno-conserve-stack)
  13. CC_FLAGS_KMSAN_RUNTIME += -DDISABLE_BRANCH_PROFILING
  14. # Disable ftrace to avoid recursion.
  15. CFLAGS_REMOVE_core.o = $(CC_FLAGS_FTRACE)
  16. CFLAGS_REMOVE_hooks.o = $(CC_FLAGS_FTRACE)
  17. CFLAGS_REMOVE_init.o = $(CC_FLAGS_FTRACE)
  18. CFLAGS_REMOVE_instrumentation.o = $(CC_FLAGS_FTRACE)
  19. CFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE)
  20. CFLAGS_REMOVE_shadow.o = $(CC_FLAGS_FTRACE)
  21. CFLAGS_core.o := $(CC_FLAGS_KMSAN_RUNTIME)
  22. CFLAGS_hooks.o := $(CC_FLAGS_KMSAN_RUNTIME)
  23. CFLAGS_init.o := $(CC_FLAGS_KMSAN_RUNTIME)
  24. CFLAGS_instrumentation.o := $(CC_FLAGS_KMSAN_RUNTIME)
  25. CFLAGS_report.o := $(CC_FLAGS_KMSAN_RUNTIME)
  26. CFLAGS_shadow.o := $(CC_FLAGS_KMSAN_RUNTIME)
  27. obj-$(CONFIG_KMSAN_KUNIT_TEST) += kmsan_test.o
  28. KMSAN_SANITIZE_kmsan_test.o := y
  29. CFLAGS_kmsan_test.o += $(call cc-disable-warning, uninitialized)