]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
b53dde9d IM |
2 | |
3 | # Do not instrument the tracer itself: | |
4 | ||
15d5761a MY |
5 | ccflags-remove-$(CONFIG_FUNCTION_TRACER) += $(CC_FLAGS_FTRACE) |
6 | ||
606576ce | 7 | ifdef CONFIG_FUNCTION_TRACER |
d05cdb25 | 8 | |
f5d2313b ME |
9 | # Avoid recursion due to instrumentation. |
10 | KCSAN_SANITIZE := n | |
11 | ||
47239c4d | 12 | ifdef CONFIG_FTRACE_SELFTEST |
d05cdb25 | 13 | # selftest needs instrumentation |
c0a80c0c | 14 | CFLAGS_trace_selftest_dynamic.o = $(CC_FLAGS_FTRACE) |
d05cdb25 | 15 | obj-y += trace_selftest_dynamic.o |
b53dde9d | 16 | endif |
47239c4d | 17 | endif |
b53dde9d | 18 | |
d899926f FD |
19 | ifdef CONFIG_FTRACE_STARTUP_TEST |
20 | CFLAGS_trace_kprobe_selftest.o = $(CC_FLAGS_FTRACE) | |
21 | obj-$(CONFIG_KPROBE_EVENTS) += trace_kprobe_selftest.o | |
22 | endif | |
23 | ||
52f232cb | 24 | # If unlikely tracing is enabled, do not trace these files |
2ed84eeb SR |
25 | ifdef CONFIG_TRACING_BRANCHES |
26 | KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING | |
52f232cb SR |
27 | endif |
28 | ||
6b7dca40 MH |
29 | # for GCOV coverage profiling |
30 | ifdef CONFIG_GCOV_PROFILE_FTRACE | |
31 | GCOV_PROFILE := y | |
32 | endif | |
33 | ||
bb5eb8f3 CL |
34 | # Functions in this file could be invoked from early interrupt |
35 | # code and produce random code coverage. | |
36 | KCOV_INSTRUMENT_trace_preemptirq.o := n | |
37 | ||
ac5a72ea AM |
38 | CFLAGS_bpf_trace.o := -I$(src) |
39 | ||
81dc9f0e | 40 | CFLAGS_trace_benchmark.o := -I$(src) |
1d0e78e3 JO |
41 | CFLAGS_trace_events_filter.o := -I$(src) |
42 | ||
ea632e9f | 43 | obj-$(CONFIG_TRACE_CLOCK) += trace_clock.o |
56449f43 | 44 | |
606576ce | 45 | obj-$(CONFIG_FUNCTION_TRACER) += libftrace.o |
7a8e76a3 | 46 | obj-$(CONFIG_RING_BUFFER) += ring_buffer.o |
5092dbc9 | 47 | obj-$(CONFIG_RING_BUFFER_BENCHMARK) += ring_buffer_benchmark.o |
16444a8a | 48 | |
bc0c38d1 | 49 | obj-$(CONFIG_TRACING) += trace.o |
f0868d1e | 50 | obj-$(CONFIG_TRACING) += trace_output.o |
12306276 | 51 | obj-$(CONFIG_TRACING) += trace_seq.o |
dbd0b4b3 | 52 | obj-$(CONFIG_TRACING) += trace_stat.o |
769b0441 | 53 | obj-$(CONFIG_TRACING) += trace_printk.o |
6954e415 | 54 | obj-$(CONFIG_TRACING) += pid_list.o |
08d43a5f | 55 | obj-$(CONFIG_TRACING_MAP) += tracing_map.o |
f96e8577 | 56 | obj-$(CONFIG_PREEMPTIRQ_DELAY_TEST) += preemptirq_delay_test.o |
9fe41efa | 57 | obj-$(CONFIG_SYNTH_EVENT_GEN_TEST) += synth_event_gen_test.o |
64836248 | 58 | obj-$(CONFIG_KPROBE_EVENT_GEN_TEST) += kprobe_event_gen_test.o |
35e8e302 | 59 | obj-$(CONFIG_CONTEXT_SWITCH_TRACER) += trace_sched_switch.o |
606576ce | 60 | obj-$(CONFIG_FUNCTION_TRACER) += trace_functions.o |
c3bc8fd6 | 61 | obj-$(CONFIG_PREEMPTIRQ_TRACEPOINTS) += trace_preemptirq.o |
81d68a96 | 62 | obj-$(CONFIG_IRQSOFF_TRACER) += trace_irqsoff.o |
6cd8a4bb | 63 | obj-$(CONFIG_PREEMPT_TRACER) += trace_irqsoff.o |
352ad25a | 64 | obj-$(CONFIG_SCHED_TRACER) += trace_sched_wakeup.o |
e7c15cd8 | 65 | obj-$(CONFIG_HWLAT_TRACER) += trace_hwlat.o |
bce29ac9 | 66 | obj-$(CONFIG_OSNOISE_TRACER) += trace_osnoise.o |
fb1b6d8b | 67 | obj-$(CONFIG_NOP_TRACER) += trace_nop.o |
e5a81b62 | 68 | obj-$(CONFIG_STACK_TRACER) += trace_stack.o |
f984b51e | 69 | obj-$(CONFIG_MMIOTRACE) += trace_mmiotrace.o |
fb52607a | 70 | obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += trace_functions_graph.o |
94b80ffd | 71 | obj-$(CONFIG_TRACE_BRANCH_PROFILING) += trace_branch.o |
55782138 | 72 | obj-$(CONFIG_BLK_DEV_IO_TRACE) += blktrace.o |
d864a3ca | 73 | obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += fgraph.o |
55782138 LZ |
74 | ifeq ($(CONFIG_BLOCK),y) |
75 | obj-$(CONFIG_EVENT_TRACING) += blktrace.o | |
76 | endif | |
5f77a88b | 77 | obj-$(CONFIG_EVENT_TRACING) += trace_events.o |
5f77a88b | 78 | obj-$(CONFIG_EVENT_TRACING) += trace_export.o |
ee08c6ec | 79 | obj-$(CONFIG_FTRACE_SYSCALLS) += trace_syscalls.o |
07b139c8 | 80 | ifeq ($(CONFIG_PERF_EVENTS),y) |
97d5a220 | 81 | obj-$(CONFIG_EVENT_TRACING) += trace_event_perf.o |
07b139c8 | 82 | endif |
5f77a88b | 83 | obj-$(CONFIG_EVENT_TRACING) += trace_events_filter.o |
85f2b082 | 84 | obj-$(CONFIG_EVENT_TRACING) += trace_events_trigger.o |
7491e2c4 | 85 | obj-$(CONFIG_PROBE_EVENTS) += trace_eprobe.o |
6c3edaf9 | 86 | obj-$(CONFIG_TRACE_EVENT_INJECT) += trace_events_inject.o |
726721a5 | 87 | obj-$(CONFIG_SYNTH_EVENTS) += trace_events_synth.o |
7ef224d1 | 88 | obj-$(CONFIG_HIST_TRIGGERS) += trace_events_hist.o |
7f5a08c7 | 89 | obj-$(CONFIG_USER_EVENTS) += trace_events_user.o |
e1abf2cc | 90 | obj-$(CONFIG_BPF_EVENTS) += bpf_trace.o |
6b0b7551 | 91 | obj-$(CONFIG_KPROBE_EVENTS) += trace_kprobe.o |
9c0dee54 | 92 | obj-$(CONFIG_TRACEPOINTS) += error_report-traces.o |
870915e0 | 93 | obj-$(CONFIG_TRACEPOINTS) += power-traces.o |
798bc6d8 | 94 | ifeq ($(CONFIG_PM),y) |
53b615cc | 95 | obj-$(CONFIG_TRACEPOINTS) += rpm-traces.o |
2a5306cc | 96 | endif |
955b61e5 JW |
97 | ifeq ($(CONFIG_TRACING),y) |
98 | obj-$(CONFIG_KGDB_KDB) += trace_kdb.o | |
99 | endif | |
5448d44c | 100 | obj-$(CONFIG_DYNAMIC_EVENTS) += trace_dynevent.o |
8ab83f56 | 101 | obj-$(CONFIG_PROBE_EVENTS) += trace_probe.o |
ebeed8d4 | 102 | obj-$(CONFIG_PROBE_EVENTS_BTF_ARGS) += trace_btf.o |
6b0b7551 | 103 | obj-$(CONFIG_UPROBE_EVENTS) += trace_uprobe.o |
9c5b9d3d | 104 | obj-$(CONFIG_BOOTTIME_TRACING) += trace_boot.o |
773c1670 | 105 | obj-$(CONFIG_FTRACE_RECORD_RECURSION) += trace_recursion_record.o |
cad9931f | 106 | obj-$(CONFIG_FPROBE) += fprobe.o |
54ecbe6f | 107 | obj-$(CONFIG_RETHOOK) += rethook.o |
334e5519 | 108 | obj-$(CONFIG_FPROBE_EVENTS) += trace_fprobe.o |
bc0c38d1 | 109 | |
81dc9f0e | 110 | obj-$(CONFIG_TRACEPOINT_BENCHMARK) += trace_benchmark.o |
102227b9 | 111 | obj-$(CONFIG_RV) += rv/ |
81dc9f0e | 112 | |
16444a8a | 113 | libftrace-y := ftrace.o |