xref: /linux-6.15/lib/test_fortify/Makefile (revision 4e9903b0)
1*4e9903b0SMasahiro Yamada# SPDX-License-Identifier: GPL-2.0
2*4e9903b0SMasahiro Yamada
3*4e9903b0SMasahiro Yamadaccflags-y := $(call cc-disable-warning,fortify-source)
4*4e9903b0SMasahiro Yamada
5*4e9903b0SMasahiro Yamadaquiet_cmd_test_fortify = TEST    $@
6*4e9903b0SMasahiro Yamada      cmd_test_fortify = $(CONFIG_SHELL) $(srctree)/scripts/test_fortify.sh \
7*4e9903b0SMasahiro Yamada			$< $@ "$(NM)" $(CC) $(c_flags) -DKBUILD_EXTRA_WARN1
8*4e9903b0SMasahiro Yamada
9*4e9903b0SMasahiro Yamada$(obj)/%.log: $(src)/%.c $(srctree)/scripts/test_fortify.sh \
10*4e9903b0SMasahiro Yamada	      $(src)/test_fortify.h \
11*4e9903b0SMasahiro Yamada	      $(srctree)/include/linux/fortify-string.h \
12*4e9903b0SMasahiro Yamada	      FORCE
13*4e9903b0SMasahiro Yamada	$(call if_changed,test_fortify)
14*4e9903b0SMasahiro Yamada
15*4e9903b0SMasahiro Yamadalogs = $(patsubst $(src)/%.c, %.log, $(wildcard $(src)/*-*.c))
16*4e9903b0SMasahiro Yamadatargets += $(logs)
17*4e9903b0SMasahiro Yamada
18*4e9903b0SMasahiro Yamadaquiet_cmd_gen_fortify_log = CAT     $@
19*4e9903b0SMasahiro Yamada      cmd_gen_fortify_log = cat $(or $(real-prereqs),/dev/null) > $@
20*4e9903b0SMasahiro Yamada
21*4e9903b0SMasahiro Yamada$(obj)/test_fortify.log: $(addprefix $(obj)/, $(logs)) FORCE
22*4e9903b0SMasahiro Yamada	$(call if_changed,gen_fortify_log)
23*4e9903b0SMasahiro Yamada
24*4e9903b0SMasahiro Yamadaalways-y += test_fortify.log
25*4e9903b0SMasahiro Yamada
26*4e9903b0SMasahiro Yamada# Some architectures define __NO_FORTIFY if __SANITIZE_ADDRESS__ is undefined.
27*4e9903b0SMasahiro Yamada# Pass CFLAGS_KASAN to avoid warnings.
28*4e9903b0SMasahiro YamadaKASAN_SANITIZE := y
29