1# SPDX-License-Identifier: GPL-2.0 2 3CONTEXT_ANALYSIS_core.o := y 4CONTEXT_ANALYSIS_fair.o := y 5 6# The compilers are complaining about unused variables inside an if(0) scope 7# block. This is daft, shut them up. 8ccflags-y += $(call cc-disable-warning, unused-but-set-variable) 9 10# These files are disabled because they produce non-interesting flaky coverage 11# that is not a function of syscall inputs. E.g. involuntary context switches. 12KCOV_INSTRUMENT := n 13 14# Disable KCSAN to avoid excessive noise and performance degradation. To avoid 15# false positives ensure barriers implied by sched functions are instrumented. 16KCSAN_SANITIZE := n 17KCSAN_INSTRUMENT_BARRIERS := y 18 19ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y) 20# According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is 21# needed for x86 only. Why this used to be enabled for all architectures is beyond 22# me. I suspect most platforms don't need this, but until we know that for sure 23# I turn this off for IA-64 only. Andreas Schwab says it's also needed on m68k 24# to get a correct value for the wait-channel (WCHAN in ps). --davidm 25CFLAGS_core.o := $(PROFILING) -fno-omit-frame-pointer 26endif 27 28# Branch profiling isn't noinstr-safe 29ifdef CONFIG_TRACE_BRANCH_PROFILING 30CFLAGS_build_policy.o += -DDISABLE_BRANCH_PROFILING 31CFLAGS_build_utility.o += -DDISABLE_BRANCH_PROFILING 32endif 33# 34# Build efficiency: 35# 36# These compilation units have roughly the same size and complexity - so their 37# build parallelizes well and finishes roughly at once: 38# 39obj-y += core.o 40obj-y += fair.o 41obj-y += build_policy.o 42obj-y += build_utility.o 43