Linux Audio

Check our new training course

Linux debugging, profiling, tracing and performance analysis training

Apr 14-17, 2025
Register
Loading...
v3.5.6
 
 1
 2# Do not instrument the tracer itself:
 3
 
 
 4ifdef CONFIG_FUNCTION_TRACER
 5ORIG_CFLAGS := $(KBUILD_CFLAGS)
 6KBUILD_CFLAGS = $(subst -pg,,$(ORIG_CFLAGS))
 7
 
 
 
 
 8# selftest needs instrumentation
 9CFLAGS_trace_selftest_dynamic.o = -pg
10obj-y += trace_selftest_dynamic.o
11endif
 
 
 
 
 
 
12
13# If unlikely tracing is enabled, do not trace these files
14ifdef CONFIG_TRACING_BRANCHES
15KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
16endif
17
 
 
 
 
 
 
 
 
18CFLAGS_trace_events_filter.o := -I$(src)
19
20#
21# Make the trace clocks available generally: it's infrastructure
22# relied on by ptrace for example:
23#
24obj-y += trace_clock.o
25
26obj-$(CONFIG_FUNCTION_TRACER) += libftrace.o
27obj-$(CONFIG_RING_BUFFER) += ring_buffer.o
28obj-$(CONFIG_RING_BUFFER_BENCHMARK) += ring_buffer_benchmark.o
29
30obj-$(CONFIG_TRACING) += trace.o
31obj-$(CONFIG_TRACING) += trace_output.o
 
32obj-$(CONFIG_TRACING) += trace_stat.o
33obj-$(CONFIG_TRACING) += trace_printk.o
 
 
 
 
34obj-$(CONFIG_CONTEXT_SWITCH_TRACER) += trace_sched_switch.o
35obj-$(CONFIG_FUNCTION_TRACER) += trace_functions.o
 
36obj-$(CONFIG_IRQSOFF_TRACER) += trace_irqsoff.o
37obj-$(CONFIG_PREEMPT_TRACER) += trace_irqsoff.o
38obj-$(CONFIG_SCHED_TRACER) += trace_sched_wakeup.o
 
 
39obj-$(CONFIG_NOP_TRACER) += trace_nop.o
40obj-$(CONFIG_STACK_TRACER) += trace_stack.o
41obj-$(CONFIG_MMIOTRACE) += trace_mmiotrace.o
42obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += trace_functions_graph.o
43obj-$(CONFIG_TRACE_BRANCH_PROFILING) += trace_branch.o
44obj-$(CONFIG_BLK_DEV_IO_TRACE) += blktrace.o
 
45ifeq ($(CONFIG_BLOCK),y)
46obj-$(CONFIG_EVENT_TRACING) += blktrace.o
47endif
48obj-$(CONFIG_EVENT_TRACING) += trace_events.o
49obj-$(CONFIG_EVENT_TRACING) += trace_export.o
50obj-$(CONFIG_FTRACE_SYSCALLS) += trace_syscalls.o
51ifeq ($(CONFIG_PERF_EVENTS),y)
52obj-$(CONFIG_EVENT_TRACING) += trace_event_perf.o
53endif
54obj-$(CONFIG_EVENT_TRACING) += trace_events_filter.o
55obj-$(CONFIG_KPROBE_EVENT) += trace_kprobe.o
 
 
 
 
 
 
56obj-$(CONFIG_TRACEPOINTS) += power-traces.o
57ifeq ($(CONFIG_PM_RUNTIME),y)
58obj-$(CONFIG_TRACEPOINTS) += rpm-traces.o
59endif
60ifeq ($(CONFIG_TRACING),y)
61obj-$(CONFIG_KGDB_KDB) += trace_kdb.o
62endif
 
63obj-$(CONFIG_PROBE_EVENTS) += trace_probe.o
64obj-$(CONFIG_UPROBE_EVENT) += trace_uprobe.o
 
 
 
 
65
66libftrace-y := ftrace.o
v5.14.15
  1# SPDX-License-Identifier: GPL-2.0
  2
  3# Do not instrument the tracer itself:
  4
  5ccflags-remove-$(CONFIG_FUNCTION_TRACER) += $(CC_FLAGS_FTRACE)
  6
  7ifdef CONFIG_FUNCTION_TRACER
 
 
  8
  9# Avoid recursion due to instrumentation.
 10KCSAN_SANITIZE := n
 11
 12ifdef CONFIG_FTRACE_SELFTEST
 13# selftest needs instrumentation
 14CFLAGS_trace_selftest_dynamic.o = $(CC_FLAGS_FTRACE)
 15obj-y += trace_selftest_dynamic.o
 16endif
 17endif
 18
 19ifdef CONFIG_FTRACE_STARTUP_TEST
 20CFLAGS_trace_kprobe_selftest.o = $(CC_FLAGS_FTRACE)
 21obj-$(CONFIG_KPROBE_EVENTS) += trace_kprobe_selftest.o
 22endif
 23
 24# If unlikely tracing is enabled, do not trace these files
 25ifdef CONFIG_TRACING_BRANCHES
 26KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
 27endif
 28
 29# for GCOV coverage profiling
 30ifdef CONFIG_GCOV_PROFILE_FTRACE
 31GCOV_PROFILE := y
 32endif
 33
 34CFLAGS_bpf_trace.o := -I$(src)
 35
 36CFLAGS_trace_benchmark.o := -I$(src)
 37CFLAGS_trace_events_filter.o := -I$(src)
 38
 39obj-$(CONFIG_TRACE_CLOCK) += trace_clock.o
 
 
 
 
 40
 41obj-$(CONFIG_FUNCTION_TRACER) += libftrace.o
 42obj-$(CONFIG_RING_BUFFER) += ring_buffer.o
 43obj-$(CONFIG_RING_BUFFER_BENCHMARK) += ring_buffer_benchmark.o
 44
 45obj-$(CONFIG_TRACING) += trace.o
 46obj-$(CONFIG_TRACING) += trace_output.o
 47obj-$(CONFIG_TRACING) += trace_seq.o
 48obj-$(CONFIG_TRACING) += trace_stat.o
 49obj-$(CONFIG_TRACING) += trace_printk.o
 50obj-$(CONFIG_TRACING_MAP) += tracing_map.o
 51obj-$(CONFIG_PREEMPTIRQ_DELAY_TEST) += preemptirq_delay_test.o
 52obj-$(CONFIG_SYNTH_EVENT_GEN_TEST) += synth_event_gen_test.o
 53obj-$(CONFIG_KPROBE_EVENT_GEN_TEST) += kprobe_event_gen_test.o
 54obj-$(CONFIG_CONTEXT_SWITCH_TRACER) += trace_sched_switch.o
 55obj-$(CONFIG_FUNCTION_TRACER) += trace_functions.o
 56obj-$(CONFIG_PREEMPTIRQ_TRACEPOINTS) += trace_preemptirq.o
 57obj-$(CONFIG_IRQSOFF_TRACER) += trace_irqsoff.o
 58obj-$(CONFIG_PREEMPT_TRACER) += trace_irqsoff.o
 59obj-$(CONFIG_SCHED_TRACER) += trace_sched_wakeup.o
 60obj-$(CONFIG_HWLAT_TRACER) += trace_hwlat.o
 61obj-$(CONFIG_OSNOISE_TRACER) += trace_osnoise.o
 62obj-$(CONFIG_NOP_TRACER) += trace_nop.o
 63obj-$(CONFIG_STACK_TRACER) += trace_stack.o
 64obj-$(CONFIG_MMIOTRACE) += trace_mmiotrace.o
 65obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += trace_functions_graph.o
 66obj-$(CONFIG_TRACE_BRANCH_PROFILING) += trace_branch.o
 67obj-$(CONFIG_BLK_DEV_IO_TRACE) += blktrace.o
 68obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += fgraph.o
 69ifeq ($(CONFIG_BLOCK),y)
 70obj-$(CONFIG_EVENT_TRACING) += blktrace.o
 71endif
 72obj-$(CONFIG_EVENT_TRACING) += trace_events.o
 73obj-$(CONFIG_EVENT_TRACING) += trace_export.o
 74obj-$(CONFIG_FTRACE_SYSCALLS) += trace_syscalls.o
 75ifeq ($(CONFIG_PERF_EVENTS),y)
 76obj-$(CONFIG_EVENT_TRACING) += trace_event_perf.o
 77endif
 78obj-$(CONFIG_EVENT_TRACING) += trace_events_filter.o
 79obj-$(CONFIG_EVENT_TRACING) += trace_events_trigger.o
 80obj-$(CONFIG_TRACE_EVENT_INJECT) += trace_events_inject.o
 81obj-$(CONFIG_SYNTH_EVENTS) += trace_events_synth.o
 82obj-$(CONFIG_HIST_TRIGGERS) += trace_events_hist.o
 83obj-$(CONFIG_BPF_EVENTS) += bpf_trace.o
 84obj-$(CONFIG_KPROBE_EVENTS) += trace_kprobe.o
 85obj-$(CONFIG_TRACEPOINTS) += error_report-traces.o
 86obj-$(CONFIG_TRACEPOINTS) += power-traces.o
 87ifeq ($(CONFIG_PM),y)
 88obj-$(CONFIG_TRACEPOINTS) += rpm-traces.o
 89endif
 90ifeq ($(CONFIG_TRACING),y)
 91obj-$(CONFIG_KGDB_KDB) += trace_kdb.o
 92endif
 93obj-$(CONFIG_DYNAMIC_EVENTS) += trace_dynevent.o
 94obj-$(CONFIG_PROBE_EVENTS) += trace_probe.o
 95obj-$(CONFIG_UPROBE_EVENTS) += trace_uprobe.o
 96obj-$(CONFIG_BOOTTIME_TRACING) += trace_boot.o
 97obj-$(CONFIG_FTRACE_RECORD_RECURSION) += trace_recursion_record.o
 98
 99obj-$(CONFIG_TRACEPOINT_BENCHMARK) += trace_benchmark.o
100
101libftrace-y := ftrace.o