xref: /linux/lib/test_fortify/Makefile (revision fab183d632628381b466a41479489541ac0e29a0)
14e9903b0SMasahiro Yamada# SPDX-License-Identifier: GPL-2.0
24e9903b0SMasahiro Yamada
34e9903b0SMasahiro Yamadaccflags-y := $(call cc-disable-warning,fortify-source)
4*c1f3e770SNathan Chancellorccflags-y += $(call cc-disable-warning,stringop-overread)
54e9903b0SMasahiro Yamada
64e9903b0SMasahiro Yamadaquiet_cmd_test_fortify = TEST    $@
75a8d0c46SMasahiro Yamada      cmd_test_fortify = $(CONFIG_SHELL) $(src)/test_fortify.sh \
84e9903b0SMasahiro Yamada			$< $@ "$(NM)" $(CC) $(c_flags) -DKBUILD_EXTRA_WARN1
94e9903b0SMasahiro Yamada
109c6b7fbbSMasahiro Yamada$(obj)/%.log: $(src)/%.c $(src)/test_fortify.sh FORCE
119c6b7fbbSMasahiro Yamada	$(call if_changed_dep,test_fortify)
124e9903b0SMasahiro Yamada
134e9903b0SMasahiro Yamadalogs = $(patsubst $(src)/%.c, %.log, $(wildcard $(src)/*-*.c))
144e9903b0SMasahiro Yamadatargets += $(logs)
154e9903b0SMasahiro Yamada
164e9903b0SMasahiro Yamadaquiet_cmd_gen_fortify_log = CAT     $@
174e9903b0SMasahiro Yamada      cmd_gen_fortify_log = cat $(or $(real-prereqs),/dev/null) > $@
184e9903b0SMasahiro Yamada
194e9903b0SMasahiro Yamada$(obj)/test_fortify.log: $(addprefix $(obj)/, $(logs)) FORCE
204e9903b0SMasahiro Yamada	$(call if_changed,gen_fortify_log)
214e9903b0SMasahiro Yamada
22118c40b7SArnd Bergmannalways-y += test_fortify.log
234e9903b0SMasahiro Yamada
244e9903b0SMasahiro Yamada# Some architectures define __NO_FORTIFY if __SANITIZE_ADDRESS__ is undefined.
254e9903b0SMasahiro Yamada# Pass CFLAGS_KASAN to avoid warnings.
264e9903b0SMasahiro YamadaKASAN_SANITIZE := y
27