xref: /linux/lib/test_fortify/Makefile (revision 3f8fa8fe90cae74bf7b72c99f30f04e012c5c41b)
1# SPDX-License-Identifier: GPL-2.0
2
3ccflags-y := $(call cc-disable-warning,fortify-source)
4ccflags-y += $(call cc-disable-warning,stringop-overread)
5
6quiet_cmd_test_fortify = TEST    $@
7      cmd_test_fortify = $(CONFIG_SHELL) $(src)/test_fortify.sh \
8			$< $@ "$(NM)" $(CC) $(c_flags) -DKBUILD_EXTRA_WARN1
9
10$(obj)/%.log: $(src)/%.c $(src)/test_fortify.sh FORCE
11	$(call if_changed_dep,test_fortify)
12
13logs = $(patsubst $(src)/%.c, %.log, $(wildcard $(src)/*-*.c))
14targets += $(logs)
15
16quiet_cmd_gen_fortify_log = CAT     $@
17      cmd_gen_fortify_log = cat $(or $(real-prereqs),/dev/null) > $@
18
19$(obj)/test_fortify.log: $(addprefix $(obj)/, $(logs)) FORCE
20	$(call if_changed,gen_fortify_log)
21
22always-y += test_fortify.log
23
24# Some architectures define __NO_FORTIFY if __SANITIZE_ADDRESS__ is undefined.
25# Pass CFLAGS_KASAN to avoid warnings.
26KASAN_SANITIZE := y
27