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