xref: /linux/kernel/locking/Makefile (revision e2683c8868d03382da7e1ce8453b543a043066d1)
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
6CONTEXT_ANALYSIS_mutex.o := y
7CONTEXT_ANALYSIS_rtmutex_api.o := y
8CONTEXT_ANALYSIS_ww_rt_mutex.o := y
9CONTEXT_ANALYSIS_rwsem.o := y
10
11obj-y += mutex.o semaphore.o rwsem.o percpu-rwsem.o
12
13# Avoid recursion lockdep -> sanitizer -> ... -> lockdep & improve performance.
14KASAN_SANITIZE_lockdep.o := n
15KCSAN_SANITIZE_lockdep.o := n
16
17ifdef CONFIG_FUNCTION_TRACER
18CFLAGS_REMOVE_lockdep.o = $(CC_FLAGS_FTRACE)
19CFLAGS_REMOVE_lockdep_proc.o = $(CC_FLAGS_FTRACE)
20CFLAGS_REMOVE_mutex-debug.o = $(CC_FLAGS_FTRACE)
21endif
22
23obj-$(CONFIG_DEBUG_IRQFLAGS) += irqflag-debug.o
24obj-$(CONFIG_DEBUG_MUTEXES) += mutex-debug.o
25obj-$(CONFIG_LOCKDEP) += lockdep.o
26ifeq ($(CONFIG_PROC_FS),y)
27obj-$(CONFIG_LOCKDEP) += lockdep_proc.o
28endif
29obj-$(CONFIG_SMP) += spinlock.o
30obj-$(CONFIG_LOCK_SPIN_ON_OWNER) += osq_lock.o
31obj-$(CONFIG_PROVE_LOCKING) += spinlock.o
32obj-$(CONFIG_QUEUED_SPINLOCKS) += qspinlock.o
33obj-$(CONFIG_RT_MUTEXES) += rtmutex_api.o
34obj-$(CONFIG_PREEMPT_RT) += spinlock_rt.o ww_rt_mutex.o
35obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock.o
36obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
37obj-$(CONFIG_QUEUED_RWLOCKS) += qrwlock.o
38obj-$(CONFIG_LOCK_TORTURE_TEST) += locktorture.o
39obj-$(CONFIG_WW_MUTEX_SELFTEST) += test-ww_mutex.o
40obj-$(CONFIG_LOCK_EVENT_COUNTS) += lock_events.o
41