| # SPDX-License-Identifier: GPL-2.0 | |
| ccflags-y := $(call cc-disable-warning,fortify-source) | |
| ccflags-y += $(call cc-disable-warning,stringop-overread) | |
| quiet_cmd_test_fortify = TEST $@ | |
| cmd_test_fortify = $(CONFIG_SHELL) $(src)/test_fortify.sh \ | |
| $< $@ "$(NM)" $(CC) $(c_flags) -DKBUILD_EXTRA_WARN1 | |
| $(obj)/%.log: $(src)/%.c $(src)/test_fortify.sh FORCE | |
| $(call if_changed_dep,test_fortify) | |
| logs = $(patsubst $(src)/%.c, %.log, $(wildcard $(src)/*-*.c)) | |
| targets += $(logs) | |
| quiet_cmd_gen_fortify_log = CAT $@ | |
| cmd_gen_fortify_log = cat $(or $(real-prereqs),/dev/null) > $@ | |
| $(obj)/test_fortify.log: $(addprefix $(obj)/, $(logs)) FORCE | |
| $(call if_changed,gen_fortify_log) | |
| always-y += test_fortify.log | |
| # Some architectures define __NO_FORTIFY if __SANITIZE_ADDRESS__ is undefined. | |
| # Pass CFLAGS_KASAN to avoid warnings. | |
| KASAN_SANITIZE := y |