summaryrefslogtreecommitdiffstats
path: root/lib/test_fortify/Makefile
blob: 1826172c32d4a09ed161afa899a05904cfd7c727 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# SPDX-License-Identifier: GPL-2.0

ccflags-y := $(call cc-disable-warning,fortify-source)

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 \
	      $(src)/test_fortify.h \
	      $(srctree)/include/linux/fortify-string.h \
	      FORCE
	$(call if_changed,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