linux/tools/perf/util
Ian Rogers c4c4334350 perf libbfd: Fix the clang -Wthread-safety build failure
perf_bfd_lock() and perf_bfd_unlock() are the callbacks given to
bfd_thread_init(), so by design they acquire and release the lock on
libbfd's behalf and the lock state differs between entry and exit.
clang's thread safety analysis, which perf builds with as an error,
flags both:

  util/libbfd.c:56:1: error: mutex 'bfd_mutex' is still held at the end of function [-Werror,-Wthread-safety-analysis]
  util/libbfd.c:60:2: error: releasing mutex 'bfd_mutex' that was not held [-Werror,-Wthread-safety-analysis]

Mark both functions NO_THREAD_SAFETY_ANALYSIS so that libbfd.c compiles
with "make CC=clang BUILD_NONDISTRO=1".

Fixes: b72b8132d8 ("perf libbfd: Ensure libbfd is initialized prior to use")
Signed-off-by: Ian Rogers <irogers@google.com>
Assisted-by: Antigravity:gemini-3.1-pro
Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2026-09-22 14:44:13 +02:00
..
annotate-arch perf annotate-arm64: Implement extract_op_location() callback 2026-09-21 08:38:58 +02:00
arm-spe-decoder perf arm_spe: Print remaining IMPDEF event numbers 2026-05-05 22:04:28 -03:00
bpf_skel perf trace: Refactor augmented_raw_syscalls using bpf_for 2026-07-16 10:57:40 -07:00
cs-etm-decoder perf cs-etm: Queue context packets for frontend 2026-06-10 18:55:48 -03:00
dwarf-regs-arch perf dwarf-regs: Adapt get_dwarf_regnum() for arm64 2026-09-21 08:30:50 +02:00
hisi-ptt-decoder perf hisi-ptt: Fix spelling and abbreviation errors 2026-07-31 15:48:12 -07:00
include perf dwarf-regs: Adapt get_dwarf_regnum() for arm64 2026-09-21 08:30:50 +02:00
intel-pt-decoder perf intel-pt: Fix snprintf size tracking bug in insn decoder 2026-06-10 18:56:01 -03:00
kvm-stat-arch perf kvm: Kill STRDUP_FAIL_EXIT() 2026-07-03 13:40:24 -07:00
libunwind-arch perf unwind-libunwind: Add RISC-V libunwind support 2026-05-15 16:19:50 -03:00
perf-regs-arch perf regs: Support x86 SIMD registers sampling 2026-09-14 15:34:05 -03:00
scripting-engines perf regs: Enable dumping of SIMD registers 2026-09-14 15:34:43 -03:00
addr_location.c perf map_symbol: Switch from holding maps to holding thread 2026-01-23 16:58:39 -03:00
addr_location.h perf map_symbol: Switch from holding maps to holding thread 2026-01-23 16:58:39 -03:00
addr2line.c perf libdw: Fix Dwfl discovery with split files 2026-09-18 17:23:16 -03:00
addr2line.h perf addr2line: Remove global variable addr2line_timeout_ms 2026-04-08 10:28:49 -07:00
affinity.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
affinity.h perf test: Expand user space event reading (rdpmc) tests 2025-06-20 13:14:07 -07:00
amd-sample-raw.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
annotate-data.c perf annotate-data: Adjust type offset for flex-array 2026-09-21 08:24:48 +02:00
annotate-data.h perf annotate-data: Adjust type offset for flex-array 2026-09-21 08:24:48 +02:00
annotate.c perf annotate: Adapt arch__dwarf_regnum() for arm64 2026-09-21 08:30:55 +02:00
annotate.h perf annotate-arm64: Implement extract_op_location() callback 2026-09-21 08:38:58 +02:00
arm-spe.c perf arm-spe: Set default synthesized event period to 1 2026-09-21 08:42:22 +02:00
arm-spe.h perf arm_spe: Add "event_filter" entry in meta data 2025-09-19 12:14:28 -03:00
arm64-frame-pointer-unwind-support.c perf record: Refactor ARM64 leaf caller setup out of arch 2026-05-14 20:50:00 -03:00
arm64-frame-pointer-unwind-support.h perf record: Refactor ARM64 leaf caller setup out of arch 2026-05-14 20:50:00 -03:00
aslr.c perf evsel/evlist: Avoid unnecessary #includes 2026-06-30 10:17:09 -07:00
aslr.h perf aslr: Strip sample registers 2026-06-15 14:33:49 -03:00
auxtrace.c perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
auxtrace.h perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
blake2s.c perf util: Add BLAKE2s support 2026-01-13 17:03:25 -03:00
blake2s.h perf util: Add BLAKE2s support 2026-01-13 17:03:25 -03:00
block-info.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
block-info.h perf report: Display the branch counter histogram 2024-08-14 10:20:40 -03:00
block-range.c perf tools: Make more global variables static 2026-04-08 19:21:04 -07:00
block-range.h
bpf_counter_cgroup.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_counter.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_counter.h perf bpf_counter: Move header declarations into C code 2025-10-01 15:27:02 -03:00
bpf_ftrace.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_kwork_top.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
bpf_kwork.c perf kwork: Fix memory management of kwork_work 2026-05-22 20:51:59 -03:00
bpf_lock_contention.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_off_cpu.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
bpf_trace_augment.c perf util: Sort includes and add missed explicit dependencies 2026-06-30 10:17:08 -07:00
bpf-event.c perf bpf: Add PROG_TAGS to required arrays in __bpf_event__print_bpf_prog_info() 2026-08-05 11:20:02 -07:00
bpf-event.h perf bpf: Validate array presence before casting BPF prog info pointers 2026-06-17 09:21:03 -03:00
bpf-filter.c perf cap: Remove used_root parameter and simplify capability checks 2026-07-23 22:46:33 -07:00
bpf-filter.h perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
bpf-filter.l perf bpf-filter: Fix a parsing error with comma 2025-03-24 17:29:58 -07:00
bpf-filter.y perf bpf-filter: Support filtering on cgroups 2024-08-28 18:21:49 -03:00
bpf-trace-summary.c perf trace beauty: Make beauty generated C code standalone .o files 2026-05-20 17:46:45 -03:00
bpf-utils.c perf bpf: Bounds-check array offsets in bpil_offs_to_addr() 2026-06-17 08:29:00 -03:00
bpf-utils.h perf bpf-event: Use libbpf version rather than feature check 2025-10-03 16:49:51 -03:00
branch.c perf session: Add accessor for session->header.env 2025-07-25 10:37:56 -07:00
branch.h perf branch: Avoid incrementing NULL 2026-03-13 14:13:02 -07:00
btf.c perf bpf: Fix up build failure due to change of btf_vlen() return type 2026-06-22 15:53:34 -03:00
btf.h perf btf: Make the sigtrap test helper to find a member by name widely available 2024-12-09 17:52:41 -03:00
Build perf tool: Move usage strings and functions to perf.c 2026-09-08 17:50:32 -03:00
build-id.c perf tools: Use scnprintf() in build_id__snprintf() and hwmon read_events() 2026-06-10 15:23:53 -03:00
build-id.h perf tool: Remove evsel from tool APIs that pass the sample 2026-05-20 16:34:23 -03:00
c2c-function.c perf c2c: build and finalize the function view hierarchy 2026-08-17 16:04:05 -07:00
c2c.c perf c2c: extract shared data structures into util/c2c.h 2026-08-17 15:07:08 -07:00
c2c.h perf c2c: add function view browser UI and cacheline detail 2026-08-17 16:04:05 -07:00
cacheline.c
cacheline.h perf c2c: Add report option to show false sharing in adjacent cachelines 2023-02-16 09:33:45 -03:00
call-path.c
call-path.h
callchain.c perf sched: Free callchain nodes in idle thread cleanup 2026-06-06 14:42:19 -03:00
callchain.h perf sched: Free callchain nodes in idle thread cleanup 2026-06-06 14:42:19 -03:00
cap.c perf cap: Remove used_root parameter and simplify capability checks 2026-07-23 22:46:33 -07:00
cap.h perf cap: Remove used_root parameter and simplify capability checks 2026-07-23 22:46:33 -07:00
capstone.c perf capstone: Symbolize address operands to match objdump on arm64 2026-09-21 08:29:47 +02:00
capstone.h perf capstone: Support for dlopen-ing libcapstone.so 2026-02-03 11:34:02 -03:00
cgroup.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
cgroup.h perf stat: Move metric list from config to evlist 2025-07-11 12:36:40 -07:00
clockid.c
clockid.h perf clockid: Add missing include 2026-04-02 19:35:16 -07:00
cloexec.c perf util: Remove weak sched_getcpu 2023-03-14 08:29:46 -03:00
cloexec.h
color_config.c perf util: Remove unused perf_color_default_config 2025-03-10 11:31:24 -07:00
color.c perf tools: Remove unused color_fwrite_lines 2024-10-10 23:38:33 -07:00
color.h perf util: Remove unused perf_color_default_config 2025-03-10 11:31:24 -07:00
comm.c perf thread: Ensure comm_lock held for comm_list 2025-06-11 13:40:31 -07:00
comm.h
compress.h perf record: Return the written size from process_comp_header() 2026-07-13 13:25:16 -07:00
config.c perf config: Add core.hybrid-merge to configure event merging 2026-09-18 17:37:45 -03:00
config.h perf util: Remove unused perf_config__refresh 2025-03-10 11:31:24 -07:00
copyfile.c
copyfile.h
counts.c
counts.h
cpumap.c perf tools: Use scnprintf() in cpu_map__snprint() to prevent overflow 2026-06-10 11:38:45 -03:00
cpumap.h perf cpumap: Remove refcnt from 'struct cpu_aggr_map' 2024-05-07 18:06:44 -03:00
cputopo.c libperf cpumap: Make index and nr types unsigned 2026-04-01 14:50:53 -07:00
cputopo.h perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
cs-etm-base.c perf cs-etm: Require full global header in auxtrace_info size check 2026-06-17 09:21:03 -03:00
cs-etm.c perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
cs-etm.h perf cs-etm: Queue context packets for frontend 2026-06-10 18:55:48 -03:00
data-convert-bt.c perf evlist: Add reference count 2026-06-30 10:17:10 -07:00
data-convert-json.c perf data convert json: Fix trace_seq memory leak in process_sample_event() 2026-07-07 23:04:21 -07:00
data-convert.h perf data ctf: replace libbabeltrace with babeltrace2-ctf-writer 2026-06-04 17:34:52 -03:00
data.c perf data: Add open flag 2026-06-30 10:17:10 -07:00
data.h perf data: Add open flag 2026-06-30 10:17:10 -07:00
db-export.c perf db-export: Remove evsel from struct export_sample 2026-05-20 16:35:59 -03:00
db-export.h perf db-export: Remove evsel from struct export_sample 2026-05-20 16:35:59 -03:00
debug.c perf tools: Make more global variables static 2026-04-08 19:21:04 -07:00
debug.h perf debug: Add function symbols to dump_stack 2025-06-25 10:59:19 -07:00
debuginfo.c perf debuginfo: Fix libdw API contract violations 2026-05-05 21:52:51 -03:00
debuginfo.h perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT 2024-10-18 10:17:40 -07:00
demangle-cxx.cpp perf symbol: Avoid memory leak from abi::__cxa_demangle 2023-03-20 12:49:58 -03:00
demangle-cxx.h perf symbol: Move demangling code out of symbol-elf.c 2025-05-28 19:02:58 -03:00
demangle-java.c perf demangle-java: Constify variables storing the result of strchr() on const tables 2026-01-27 02:33:29 -03:00
demangle-java.h
demangle-ocaml.c
demangle-ocaml.h
demangle-rust-v0.c perf demangle-rust: Add rustc-demangle C demangler 2025-05-09 17:00:05 -03:00
demangle-rust-v0.h perf demangle-rust: Add rustc-demangle C demangler 2025-05-09 17:00:05 -03:00
disasm.c perf capstone: Symbolize address operands to match objdump on arm64 2026-09-21 08:29:47 +02:00
disasm.h perf annotate: Introduce extract_op_location callback for arch-specific parsing 2026-09-21 08:30:45 +02:00
dlfilter.c perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues 2026-06-03 16:53:45 -03:00
dlfilter.h
drm_pmu.c perf pmu: Replace starts_with with strstarts 2026-03-03 17:04:49 -08:00
drm_pmu.h perf drm_pmu: Add a tool like PMU to expose DRM information 2025-06-25 11:12:35 -07:00
dso.c perf dso: Separate libbfd and cmd addr2line caches to fix confusion 2026-09-18 17:23:59 -03:00
dso.h perf dso: Separate libbfd and cmd addr2line caches to fix confusion 2026-09-18 17:23:59 -03:00
dsos.c perf tools: Replace basename() calls with perf_basename() 2026-04-08 19:21:05 -07:00
dsos.h perf dso: Constify dso_id 2024-08-19 14:52:13 -03:00
dump-insn.h perf script: Minimize "not reaching sample" for '-F +brstackinsn' 2024-09-03 12:22:01 -03:00
dwarf-aux.c perf dwarf-aux: Add die_has_flex_array() helper 2026-09-21 08:24:47 +02:00
dwarf-aux.h perf dwarf-aux: Add die_has_flex_array() helper 2026-09-21 08:24:47 +02:00
dwarf-regs.c perf dwarf-regs: Adapt get_dwarf_regnum() for arm64 2026-09-21 08:30:50 +02:00
env.c perf env: Add helper to lazily compute the os_release 2026-06-03 16:53:16 -03:00
env.h perf stat: Introduce perf_env__get_cpu_topology() to guard NULL env->cpu 2026-06-06 13:44:46 -03:00
event.c perf tools: Use perf_env__get_cpu_topology() in machine__resolve() 2026-06-10 11:38:45 -03:00
event.h perf sched stats: Add record and rawdump support 2026-01-22 12:29:28 -03:00
events_stats.h perf report: Add latency output field 2025-02-18 14:04:32 -08:00
evlist.c perf evlist: Toggle merged_hybrid_group properly in enable/disable 2026-09-18 17:36:30 -03:00
evlist.h perf evlist: Implement evlist__can_merge_hybrid using first_wildcard_match 2026-09-18 17:26:41 -03:00
evsel_config.h perf parse-events: Track all user changed config bits 2026-01-14 23:14:54 -03:00
evsel_fprintf.c perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues 2026-06-03 16:53:45 -03:00
evsel_fprintf.h perf script: Add new output field 'dsoff' to print dso offset 2023-05-12 15:21:49 -03:00
evsel.c perf evsel: Restrict incremental open error unwind 2026-09-22 14:41:49 +02:00
evsel.h perf evlist: Implement evlist__can_merge_hybrid using first_wildcard_match 2026-09-18 17:26:41 -03:00
evswitch.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
evswitch.h perf: Various spelling fixes 2023-01-23 10:00:47 -03:00
expr.c perf evlist: Add reference count 2026-06-30 10:17:10 -07:00
expr.h perf stat: Add aggr_nr metric parser support 2026-06-04 10:58:47 -03:00
expr.l perf stat: Add aggr_nr metric parser support 2026-06-04 10:58:47 -03:00
expr.y perf stat: Add aggr_nr metric parser support 2026-06-04 10:58:47 -03:00
find-map.c perf find-map: Remove PATH_MAX 128-byte stack array restriction 2026-08-07 09:43:36 -07:00
fncache.c perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
fncache.h perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
ftrace.h perf: ftrace: add graph tracer options args/retval/retval-hex/retaddr 2025-07-22 17:47:22 -07:00
genelf_debug.c perf genelf: Use unaligned-safe accessors for debug entries 2026-09-03 23:16:07 -03:00
genelf.c perf genelf: Switch from SHA-1 to BLAKE2s for build ID generation 2026-01-13 17:03:28 -03:00
genelf.h perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT 2024-10-18 10:17:40 -07:00
hashmap.c
hashmap.h perf tools: Fix possible compiler warnings in hashmap 2024-10-14 12:04:31 -07:00
header.c perf headers: Sync perf_event.h/perf_regs.h with the kernel headers 2026-09-14 15:32:52 -03:00
header.h perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
help-unknown-cmd.c perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
help-unknown-cmd.h
hisi-ptt.c perf hisi-ptt: Fix spelling and abbreviation errors 2026-07-31 15:48:12 -07:00
hisi-ptt.h
hist.c perf ui hists: Fix stack use-after-return in symbol_filter_str 2026-07-27 17:13:08 -07:00
hist.h perf ui hist: Add support for aggregated total_period and merging entries 2026-09-18 17:28:52 -03:00
hwmon_pmu.c perf evsel: Restrict incremental open error unwind 2026-09-22 14:41:49 +02:00
hwmon_pmu.h perf tools: Fix duplicated words in documentation and comments 2025-10-01 09:44:02 -03:00
intel-bts.c perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
intel-bts.h
intel-pt.c perf annotate: Default to --itrace=i1i for data type profiling 2026-09-21 08:41:55 +02:00
intel-pt.h perf pmu: Lazily compute default config 2023-10-17 12:40:50 -07:00
intel-tpebs.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
intel-tpebs.h perf stat: Add mean, min, max and last --tpebs-mode options 2025-04-25 12:31:36 -03:00
intlist.c
intlist.h
iostat.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
iostat.h perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
jit.h perf jit: Constify filename argument 2024-08-19 14:51:46 -03:00
jitdump.c perf jitdump: Size code_move event allocation with idr_size 2026-09-03 23:16:07 -03:00
jitdump.h perf test: Remove /usr/bin/cc dependency from Intel PT shell test 2026-06-04 11:41:46 -03:00
kvm-stat.c perf kvm: Factor out kvm_need_default_arch_event() 2026-07-03 13:40:23 -07:00
kvm-stat.h perf build: Fix a build error on 32-bit x86 2026-08-02 09:45:18 -07:00
kwork.h perf kwork: Bounds check work->cpu before indexing cpus_runtime[] 2026-05-29 11:44:35 -03:00
levenshtein.c
levenshtein.h
libbfd.c perf libbfd: Fix the clang -Wthread-safety build failure 2026-09-22 14:44:13 +02:00
libbfd.h perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
libdw.c perf libdw: Fix Dwfl discovery with split files 2026-09-18 17:23:16 -03:00
libdw.h perf powerpc: Unify the skip-callchain-idx libdw with that for addr2line 2026-01-20 13:04:38 -03:00
llvm-c-helpers.cpp perf llvm-add2line: Remove unused symbol_conf.h include 2025-01-08 17:38:32 -03:00
llvm-c-helpers.h perf annotate: LLVM-based disassembler 2024-09-03 10:39:20 -03:00
llvm.c perf llvm: Fix arm64 adrp instruction disassembly mismatch with objdump 2026-09-21 08:30:17 +02:00
llvm.h perf srcline: Fallback between addr2line implementations 2025-10-06 16:47:49 -03:00
lock-contention.c perf lock-contention: Use perf_env e_machine rather than arch 2026-06-03 16:50:34 -03:00
lock-contention.h perf lock contention: Add -J/--inject-delay option 2025-05-09 14:32:15 -03:00
lzma.c perf tools: Switch printf("...%s", strerror(errno)) to printf("...%m") 2026-01-14 17:22:50 -03:00
machine.c perf thread: Fix live-session detection in thread__e_machine() 2026-09-08 18:08:37 -03:00
machine.h perf machine: Propagate machine__init() error to callers 2026-06-17 09:21:03 -03:00
map_symbol.c perf map_symbol: Switch from holding maps to holding thread 2026-01-23 16:58:39 -03:00
map_symbol.h perf map_symbol: Switch from holding maps to holding thread 2026-01-23 16:58:39 -03:00
map.c perf map: Constify objdump offset/address conversion APIs 2025-10-02 15:36:13 -03:00
map.h perf util: Sort includes and add missed explicit dependencies 2026-06-30 10:17:08 -07:00
maps.c perf maps: Add maps__mutate_mapping 2026-06-15 09:01:27 -03:00
maps.h perf maps: Add maps__mutate_mapping 2026-06-15 09:01:27 -03:00
mem-events.c perf mem-events: Don't leak online CPU map 2025-12-03 11:07:46 -08:00
mem-events.h perf mem: Add 'dtlb' output field 2025-05-02 15:36:14 -03:00
mem-info.c perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
mem-info.h perf hist: Correct hist_entry->mem_info refcounts 2024-08-01 18:55:55 -03:00
mem2node.c perf tools: Use calloc() where applicable 2026-04-08 19:21:05 -07:00
mem2node.h
memswap.c
memswap.h
metricgroup.c perf metricgroup: Fix metric expression copy leaks 2026-07-10 17:55:16 -07:00
metricgroup.h perf parse-events: Restrict core PMU bypass to --cputype option 2026-06-30 17:09:13 -07:00
mmap.c perf tools: NULL bitmap pointers after bitmap_free() 2026-06-10 13:13:32 -03:00
mmap.h perf tools: Deadcode removal 2025-02-10 11:46:02 -08:00
mutex.c perf libbfd: Ensure libbfd is initialized prior to use 2025-11-13 17:55:19 -03:00
mutex.h perf libbfd: Ensure libbfd is initialized prior to use 2025-11-13 17:55:19 -03:00
namespaces.c perf namespaces: Avoid get_current_dir_name dependency 2025-10-03 15:28:04 -03:00
namespaces.h perf namespaces: Fixup the nsinfo__in_pidns() return type, its bool 2025-01-08 17:31:06 -03:00
off_cpu.h perf record --off-cpu: Add --off-cpu-thresh option 2025-05-05 21:51:54 -03:00
ordered-events.c perf ordered-events: Event processing consistency with the regular reader 2026-04-02 19:35:16 -07:00
ordered-events.h
parse-branch-options.c perf tools: Add branch counter knob 2023-11-09 13:47:50 -03:00
parse-branch-options.h
parse-events.c perf evlist: Implement evlist__can_merge_hybrid using first_wildcard_match 2026-09-18 17:26:41 -03:00
parse-events.h perf parse-events: Restrict core PMU bypass to --cputype option 2026-06-30 17:09:13 -07:00
parse-events.l perf tools: Add support for perf_event_attr::config4 2025-11-24 12:20:06 -08:00
parse-events.y perf evsel: Add reference count 2026-06-30 10:17:11 -07:00
parse-regs-options.c perf regs: Support x86 SIMD registers sampling 2026-09-14 15:34:05 -03:00
parse-regs-options.h
parse-sublevel-options.c
parse-sublevel-options.h
path.c perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
path.h perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
perf_api_probe.c perf evlist: Add reference count 2026-06-30 10:17:10 -07:00
perf_api_probe.h
perf_event_attr_fprintf.c perf headers: Sync perf_event.h/perf_regs.h with the kernel headers 2026-09-14 15:32:52 -03:00
perf_regs.c perf regs: Support x86 SIMD registers sampling 2026-09-14 15:34:05 -03:00
perf_regs.h perf regs: Support x86 SIMD registers sampling 2026-09-14 15:34:05 -03:00
perf-hooks-list.h
perf-hooks.c
perf-hooks.h
PERF-VERSION-GEN
pfm.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
pfm.h
pmu.c perf evlist: Implement evlist__can_merge_hybrid using first_wildcard_match 2026-09-18 17:26:41 -03:00
pmu.h perf evlist: Implement evlist__can_merge_hybrid using first_wildcard_match 2026-09-18 17:26:41 -03:00
pmu.l perf pmu: Make parser reentrant 2023-04-06 21:40:28 -03:00
pmu.y perf pmu: Add YYDEBUG 2023-09-12 17:47:00 -03:00
pmus.c perf pmu: Recognize default_core as a core PMU in more places 2026-06-30 16:55:58 -07:00
pmus.h perf metricgroup: Avoid scanning unnecessary PMUs for identifier match 2026-05-14 20:59:08 -03:00
powerpc-vpadtl.c perf powerpc-vpadtl: Fix off-by-one in auxtrace_info minimum size check 2026-09-08 17:50:39 -03:00
powerpc-vpadtl.h perf powerpc: Process auxtrace events and display in 'perf report -D' 2025-10-01 11:22:04 -03:00
print_binary.c
print_binary.h
print_insn.c perf print_insn: Use e_machine for fallback IP length check 2026-06-03 16:46:07 -03:00
print_insn.h perf print_insn: Use e_machine for fallback IP length check 2026-06-03 16:46:07 -03:00
print-events.c perf evsel: Add reference count 2026-06-30 10:17:11 -07:00
print-events.h perf print-events: Remove print_symbol_events 2025-10-15 23:59:11 +09:00
probe-event.c perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues 2026-06-03 16:53:45 -03:00
probe-event.h perf probe: Replace unacceptable characters when generating event name 2024-12-10 15:41:10 -03:00
probe-file.c perf/probe: Ignore comment lines in dynamic_events/kprobe_events file 2026-06-30 16:37:49 -07:00
probe-file.h perf: Remove unused del_perf_probe_events() 2024-11-16 17:07:31 -03:00
probe-finder.c perf probe-finder: Fix libdw API contract violations 2026-05-05 21:50:56 -03:00
probe-finder.h perf probe: Pick the correct dwarf die while adding probe points 2025-02-26 14:25:14 -08:00
pstack.c perf util: Remove unused pstack__pop 2025-03-10 11:31:24 -07:00
pstack.h perf util: Remove unused pstack__pop 2025-03-10 11:31:24 -07:00
python.c perf python: Fix memory leak in pyrf__metrics_cb 2026-08-09 22:02:41 -07:00
rblist.c
rblist.h
record.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
record.h perf regs: Support x86 eGPRs/SSP sampling 2026-09-14 15:33:33 -03:00
rlimit.c perf evsel: Rename evsel__increase_rlimit to rlimit__increase_nofile 2023-10-25 10:02:11 -07:00
rlimit.h perf evsel: Rename evsel__increase_rlimit to rlimit__increase_nofile 2023-10-25 10:02:11 -07:00
rwsem.c perf rwsem: Add clang's -Wthread-safety annotations 2025-05-21 15:07:13 -03:00
rwsem.h perf rwsem: Add clang's -Wthread-safety annotations 2025-05-21 15:07:13 -03:00
s390-cpumcf-kernel.h perf report: Add s390 raw data interpretation for PAI counters 2023-11-15 12:51:53 -05:00
s390-cpumsf-kernel.h
s390-cpumsf.c perf evlist: Change env variable to session 2025-07-25 10:37:56 -07:00
s390-cpumsf.h
s390-sample-raw.c perf python: Use evsel in sample in pyrf_event 2026-06-30 10:17:12 -07:00
sample-raw.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
sample-raw.h perf sample-raw: Use perf_env e_machine rather than arch 2026-06-03 16:48:00 -03:00
sample.c perf python: Use evsel in sample in pyrf_event 2026-06-30 10:17:12 -07:00
sample.h perf regs: Enable dumping of SIMD registers 2026-09-14 15:34:43 -03:00
session.c perf regs: Enable dumping of SIMD registers 2026-09-14 15:34:43 -03:00
session.h perf python: Refactor and add accessors to sample event 2026-06-30 10:17:14 -07:00
setns.c
setup.py perf python: Clean up and restructure setup.py 2026-07-23 22:49:39 -07:00
sharded_mutex.c perf sharded_mutex: Introduce sharded_mutex 2023-06-20 17:03:43 -07:00
sharded_mutex.h perf sharded_mutex: Introduce sharded_mutex 2023-06-20 17:03:43 -07:00
sideband_evlist.c perf record: fix poll storm when monitored threads exit 2026-07-07 22:59:07 -07:00
smt.c perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
smt.h perf expr: Make the online topology accessible globally 2023-02-19 08:03:12 -03:00
sort.c perf c2c: Fix error masking, OOM, and unchecked caller errors in hpp_list__parse() 2026-08-05 21:50:45 -07:00
sort.h perf report: Add comm_nodigit sort key 2026-03-26 15:22:18 -07:00
spark.c perf spark: Fix includes and add SPDX 2025-07-11 12:36:40 -07:00
spark.h perf spark: Fix includes and add SPDX 2025-07-11 12:36:40 -07:00
srccode.c perf fncache: Switch to using hashmap 2025-05-13 16:36:22 -03:00
srccode.h
srcline.c perf dso: Separate libbfd and cmd addr2line caches to fix confusion 2026-09-18 17:23:59 -03:00
srcline.h perf srcline: Introduce inline_node__clear_frames() 2026-05-05 21:49:18 -03:00
stat-display.c perf stat: Add --hide-zero-events option to suppress zero-count events 2026-07-19 21:49:30 -07:00
stat-shadow.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
stat.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
stat.h perf stat: Add --hide-zero-events option to suppress zero-count events 2026-07-19 21:49:30 -07:00
strbuf.c perf tool: Tidy up util/cache.h header file users 2026-09-08 17:50:28 -03:00
strbuf.h
stream.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
stream.h perf stream: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
strfilter.c tools: Rename __fallthrough to fallthrough 2023-04-06 21:41:00 -03:00
strfilter.h
string.c perf string: Avoid undefined NULL+1 2024-12-12 15:53:36 -03:00
string2.h perf string: Add strpbrk_esq() and strdup_esq() for escape and quote 2024-11-14 16:56:32 -03:00
strlist.c perf strlist: Remove dont_dupstr logic, used only once 2026-01-27 21:19:24 -03:00
strlist.h perf strlist: Remove dont_dupstr logic, used only once 2026-01-27 21:19:24 -03:00
svghelper.c perf timechart: Fix cpu2y() OOB read on untrusted CPU index 2026-06-06 14:27:52 -03:00
svghelper.h
symbol_conf.h perf config: Add core.hybrid-merge to configure event merging 2026-09-18 17:37:45 -03:00
symbol_fprintf.c perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues 2026-06-03 16:53:45 -03:00
symbol-elf.c perf symbols: Skip dynamic symbols with invalid section indexes 2026-08-02 09:44:58 -07:00
symbol-minimal.c perf symbols: Validate p_filesz before use in filename__read_build_id() 2026-06-17 08:25:14 -03:00
symbol.c perf tools: Expose opt-in --hybrid-merge 2026-09-18 17:29:34 -03:00
symbol.h perf symbols: skip livepatch symbols when loading kallsyms 2026-07-03 13:38:08 -07:00
symsrc.h perf symbols: Allow for static executables with .plt 2023-02-01 21:51:51 -03:00
synthetic-events.c perf synthetic-events: Fix schedstat event lifetime handling 2026-09-22 14:41:56 +02:00
synthetic-events.h perf inject: Don't pass evsel with sample 2026-05-20 16:39:40 -03:00
target.c perf target: Remove uid from target 2025-06-09 11:18:18 -07:00
target.h perf target: Constify simple check functions 2026-03-19 14:42:46 -07:00
term.c
term.h
thread_map.c perf strlist: Remove dont_dupstr logic, used only once 2026-01-27 21:19:24 -03:00
thread_map.h perf thread_map: Remove uid options 2025-06-09 11:18:18 -07:00
thread-stack.c perf thread-stack: Fix heap buffer overflow on branch stack wrap copy 2026-08-03 12:42:49 -07:00
thread-stack.h
thread.c perf thread: Fix live-session detection in thread__e_machine() 2026-09-08 18:08:37 -03:00
thread.h perf env, dso, thread: Add _endian variants for e_machine helpers 2026-06-03 16:45:21 -03:00
threads.c perf tools: Remove unnecessary parentheses 2024-10-14 12:04:31 -07:00
threads.h perf threads: Reduce table size from 256 to 8 2024-03-03 22:52:13 -08:00
time-utils.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
time-utils.h
tool_pmu.c perf evsel: Restrict incremental open error unwind 2026-09-22 14:41:49 +02:00
tool_pmu.h perf tool_pmu: Make tool PMU events respect enable/disable 2026-05-22 21:37:34 -03:00
tool.c perf session: Check for decompression buffer size overflow 2026-05-29 11:44:34 -03:00
tool.h perf tool: Remove evsel from tool APIs that pass the sample 2026-05-20 16:34:23 -03:00
top.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
top.h perf top: Switch user option to use BPF filter 2025-06-09 11:18:18 -07:00
topdown.c perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
topdown.h perf stat: Implement --topdown using json metrics 2023-02-19 08:07:24 -03:00
tp_pmu.c perf tp_pmu: Address const-correctness errors in recent glibcs 2026-01-27 02:22:00 -03:00
tp_pmu.h perf tp_pmu: Add event APIs 2025-07-26 16:31:43 -07:00
trace_augment.h perf trace: Split BPF skel code to util/bpf_trace_augment.c 2025-06-26 10:31:05 -07:00
trace-event-info.c perf trace-event: Constify variables storing the result of strchr() on const tables 2026-01-27 02:26:48 -03:00
trace-event-parse.c perf trace-event: Constify print arguments 2024-12-09 17:52:42 -03:00
trace-event-read.c perf trace-event: Fix infinite loop in skip() 2026-08-07 09:43:36 -07:00
trace-event-scripting.c perf script: Don't pass evsel with sample 2026-05-20 16:39:40 -03:00
trace-event.c perf trace-event: Avoid double free and leak in trace_event__cleanup()/trace_event__init() 2026-08-07 09:43:36 -07:00
trace-event.h perf script: Don't pass evsel with sample 2026-05-20 16:39:40 -03:00
trace.h perf trace: Add --max-summary option 2025-09-19 12:14:29 -03:00
tracepoint.c perf tracepoint: Don't scan all tracepoints to test if one exists 2024-05-09 18:46:43 -03:00
tracepoint.h perf tracepoint: Don't scan all tracepoints to test if one exists 2024-05-09 18:46:43 -03:00
trigger.h
tsc.c perf tools: Fix event_contains() macro to verify full field extent 2026-05-29 11:44:19 -03:00
tsc.h perf tool_pmu: Move expr literals to tool_pmu 2024-10-10 23:40:32 -07:00
units.c perf units: Constify variables storing the result of strchr() on const tables 2026-01-27 02:28:33 -03:00
units.h
unwind-libdw.c perf libdw: Fix Dwfl discovery with split files 2026-09-18 17:23:16 -03:00
unwind-libdw.h perf unwind-libdw: Wire up e_flags for CSKY 2026-01-26 18:31:27 -03:00
unwind-libunwind.c perf libdw: Fix Dwfl discovery with split files 2026-09-18 17:23:16 -03:00
unwind.c perf unwind: Refactor get_entries to allow dynamic libdw/libunwind selection 2026-05-15 08:25:02 -03:00
unwind.h perf unwind-libunwind: Remove libunwind-local 2026-05-15 16:19:50 -03:00
util.c perf cap: Remove used_root parameter and simplify capability checks 2026-07-23 22:46:33 -07:00
util.h perf tool: Move usage strings and functions to perf.c 2026-09-08 17:50:32 -03:00
values.c perf tools: Use calloc() where applicable 2026-04-08 19:21:05 -07:00
values.h perf values: Use evsel rather than evsel->idx 2024-12-23 13:53:08 -03:00
vdso.c perf vdso: Missed put on 32-bit dsos 2024-09-27 15:38:52 -03:00
vdso.h
zlib.c perf util: Fix compression checks returning -1 as bool 2025-09-12 15:41:57 -03:00
zstd.c perf record: Return the written size from process_comp_header() 2026-07-13 13:25:16 -07:00