Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0
2
3ifdef CONFIG_GCC_PLUGIN_STACKLEAK
4kstack-erase-cflags-y += -fplugin=$(objtree)/scripts/gcc-plugins/stackleak_plugin.so
5kstack-erase-cflags-y += -fplugin-arg-stackleak_plugin-track-min-size=$(CONFIG_KSTACK_ERASE_TRACK_MIN_SIZE)
6kstack-erase-cflags-y += -fplugin-arg-stackleak_plugin-arch=$(SRCARCH)
7kstack-erase-cflags-$(CONFIG_GCC_PLUGIN_STACKLEAK_VERBOSE) += -fplugin-arg-stackleak_plugin-verbose
8DISABLE_KSTACK_ERASE := -fplugin-arg-stackleak_plugin-disable
9endif
10
11ifdef CONFIG_CC_IS_CLANG
12kstack-erase-cflags-y += -fsanitize-coverage=stack-depth
13kstack-erase-cflags-y += -fsanitize-coverage-stack-depth-callback-min=$(CONFIG_KSTACK_ERASE_TRACK_MIN_SIZE)
14DISABLE_KSTACK_ERASE := -fno-sanitize-coverage=stack-depth
15endif
16
17KSTACK_ERASE_CFLAGS := $(kstack-erase-cflags-y)
18
19export KSTACK_ERASE_CFLAGS DISABLE_KSTACK_ERASE
20
21KBUILD_CFLAGS += $(KSTACK_ERASE_CFLAGS)