176261fc7SKees Cook# SPDX-License-Identifier: GPL-2.0 276261fc7SKees Cook 376261fc7SKees Cookifdef CONFIG_GCC_PLUGIN_STACKLEAK 476261fc7SKees Cookkstack-erase-cflags-y += -fplugin=$(objtree)/scripts/gcc-plugins/stackleak_plugin.so 576261fc7SKees Cookkstack-erase-cflags-y += -fplugin-arg-stackleak_plugin-track-min-size=$(CONFIG_KSTACK_ERASE_TRACK_MIN_SIZE) 676261fc7SKees Cookkstack-erase-cflags-y += -fplugin-arg-stackleak_plugin-arch=$(SRCARCH) 776261fc7SKees Cookkstack-erase-cflags-$(CONFIG_GCC_PLUGIN_STACKLEAK_VERBOSE) += -fplugin-arg-stackleak_plugin-verbose 876261fc7SKees CookDISABLE_KSTACK_ERASE := -fplugin-arg-stackleak_plugin-disable 976261fc7SKees Cookendif 1076261fc7SKees Cook 11a8f0b1f8SKees Cookifdef CONFIG_CC_IS_CLANG 12a8f0b1f8SKees Cookkstack-erase-cflags-y += -fsanitize-coverage=stack-depth 13a8f0b1f8SKees Cookkstack-erase-cflags-y += -fsanitize-coverage-stack-depth-callback-min=$(CONFIG_KSTACK_ERASE_TRACK_MIN_SIZE) 14a8f0b1f8SKees CookDISABLE_KSTACK_ERASE := -fno-sanitize-coverage=stack-depth 15a8f0b1f8SKees Cookendif 16a8f0b1f8SKees Cook 1776261fc7SKees CookKSTACK_ERASE_CFLAGS := $(kstack-erase-cflags-y) 1876261fc7SKees Cook 19*fc525d62SKees Cookexport KSTACK_ERASE_CFLAGS DISABLE_KSTACK_ERASE 2076261fc7SKees Cook 2176261fc7SKees CookKBUILD_CFLAGS += $(KSTACK_ERASE_CFLAGS) 22