Makefile.kstack_erase 900 B

123456789101112131415161718192021
  1. # SPDX-License-Identifier: GPL-2.0
  2. ifdef CONFIG_GCC_PLUGIN_STACKLEAK
  3. kstack-erase-cflags-y += -fplugin=$(objtree)/scripts/gcc-plugins/stackleak_plugin.so
  4. kstack-erase-cflags-y += -fplugin-arg-stackleak_plugin-track-min-size=$(CONFIG_KSTACK_ERASE_TRACK_MIN_SIZE)
  5. kstack-erase-cflags-y += -fplugin-arg-stackleak_plugin-arch=$(SRCARCH)
  6. kstack-erase-cflags-$(CONFIG_GCC_PLUGIN_STACKLEAK_VERBOSE) += -fplugin-arg-stackleak_plugin-verbose
  7. DISABLE_KSTACK_ERASE := -fplugin-arg-stackleak_plugin-disable
  8. endif
  9. ifdef CONFIG_CC_IS_CLANG
  10. kstack-erase-cflags-y += -fsanitize-coverage=stack-depth
  11. kstack-erase-cflags-y += -fsanitize-coverage-stack-depth-callback-min=$(CONFIG_KSTACK_ERASE_TRACK_MIN_SIZE)
  12. DISABLE_KSTACK_ERASE := -fno-sanitize-coverage=stack-depth
  13. endif
  14. KSTACK_ERASE_CFLAGS := $(kstack-erase-cflags-y)
  15. export KSTACK_ERASE_CFLAGS DISABLE_KSTACK_ERASE
  16. KBUILD_CFLAGS += $(KSTACK_ERASE_CFLAGS)