1# SPDX-License-Identifier: GPL-2.0 2# Any varying coverage in these files is non-deterministic 3# and is generally not a function of system call inputs. 4KCOV_INSTRUMENT := n 5 6obj-y += mutex.o semaphore.o rwsem.o percpu-rwsem.o 7 8# Avoid recursion lockdep -> KCSAN -> ... -> lockdep. 9KCSAN_SANITIZE_lockdep.o := n 10 11ifdef CONFIG_FUNCTION_TRACER 12CFLAGS_REMOVE_lockdep.o = $(CC_FLAGS_FTRACE) 13CFLAGS_REMOVE_lockdep_proc.o = $(CC_FLAGS_FTRACE) 14CFLAGS_REMOVE_mutex-debug.o = $(CC_FLAGS_FTRACE) 15CFLAGS_REMOVE_rtmutex-debug.o = $(CC_FLAGS_FTRACE) 16endif 17 18obj-$(CONFIG_DEBUG_MUTEXES) += mutex-debug.o 19obj-$(CONFIG_LOCKDEP) += lockdep.o 20ifeq ($(CONFIG_PROC_FS),y) 21obj-$(CONFIG_LOCKDEP) += lockdep_proc.o 22endif 23obj-$(CONFIG_SMP) += spinlock.o 24obj-$(CONFIG_LOCK_SPIN_ON_OWNER) += osq_lock.o 25obj-$(CONFIG_PROVE_LOCKING) += spinlock.o 26obj-$(CONFIG_QUEUED_SPINLOCKS) += qspinlock.o 27obj-$(CONFIG_RT_MUTEXES) += rtmutex.o 28obj-$(CONFIG_DEBUG_RT_MUTEXES) += rtmutex-debug.o 29obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock.o 30obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o 31obj-$(CONFIG_QUEUED_RWLOCKS) += qrwlock.o 32obj-$(CONFIG_LOCK_TORTURE_TEST) += locktorture.o 33obj-$(CONFIG_WW_MUTEX_SELFTEST) += test-ww_mutex.o 34obj-$(CONFIG_LOCK_EVENT_COUNTS) += lock_events.o 35