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.
6 obj-y += mutex.o semaphore.o rwsem.o percpu-rwsem.o
8 # Avoid recursion lockdep -> sanitizer -> ... -> lockdep.
9 KCSAN_SANITIZE_lockdep.o := n
11 ifdef CONFIG_FUNCTION_TRACER
12 CFLAGS_REMOVE_lockdep.o = $(CC_FLAGS_FTRACE)
13 CFLAGS_REMOVE_lockdep_proc.o = $(CC_FLAGS_FTRACE)
14 CFLAGS_REMOVE_mutex-debug.o = $(CC_FLAGS_FTRACE)
17 obj-$(CONFIG_DEBUG_IRQFLAGS) += irqflag-debug.o
18 obj-$(CONFIG_DEBUG_MUTEXES) += mutex-debug.o
19 obj-$(CONFIG_LOCKDEP) += lockdep.o
20 ifeq ($(CONFIG_PROC_FS),y)
21 obj-$(CONFIG_LOCKDEP) += lockdep_proc.o
23 obj-$(CONFIG_SMP) += spinlock.o
24 obj-$(CONFIG_LOCK_SPIN_ON_OWNER) += osq_lock.o
25 obj-$(CONFIG_PROVE_LOCKING) += spinlock.o
26 obj-$(CONFIG_QUEUED_SPINLOCKS) += qspinlock.o
27 obj-$(CONFIG_RT_MUTEXES) += rtmutex_api.o
28 obj-$(CONFIG_PREEMPT_RT) += spinlock_rt.o ww_rt_mutex.o
29 obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock.o
30 obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
31 obj-$(CONFIG_QUEUED_RWLOCKS) += qrwlock.o
32 obj-$(CONFIG_LOCK_TORTURE_TEST) += locktorture.o
33 obj-$(CONFIG_WW_MUTEX_SELFTEST) += test-ww_mutex.o
34 obj-$(CONFIG_LOCK_EVENT_COUNTS) += lock_events.o