linux/tools/perf/util
Tengda Wu 0ba32f84fc perf annotate: Adapt arch__dwarf_regnum() for arm64
Currently, arch__dwarf_regnum() assumes that all architectures use a
register prefix character (e.g., '%' for x86) defined by
arch->objdump.register_char, and uses it to match register names in
objdump output. However, this assumption does not hold for arm64,
where assembly syntax uses bare register names like 'x0', 'w1'
without any prefix.

As a result, arm64 builds may fail to correctly recognize register
names from objdump disassembly, leading to incomplete or incorrect
annotation output.

To address this:

- Make the register prefix check optional, allowing architectures
  without a prefix character to be parsed correctly.

- Extend the delimiter set in strpbrk() to include the closing square
  bracket ']'. In arm64 assembly, memory operands often use bracketed
  syntax such as '[x1, #16]' or '[x2]'. Adding ']' ensures clean
  extraction of register names like 'x2' without trailing characters.

Reviewed-by: Ian Rogers <irogers@google.com>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Tengda Wu <wutengda@huaweicloud.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2026-09-21 08:30:55 +02:00
..
annotate-arch perf annotate: Introduce extract_op_location callback for arch-specific parsing 2026-09-21 08:30:45 +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: Introduce extract_op_location callback for arch-specific parsing 2026-09-21 08:30:45 +02:00
arm-spe.c perf arm-spe: Reject zero nr_cpu in metadata to prevent division by zero 2026-08-03 12:43:10 -07: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 auxtrace: Fix queue grow overflow and old array leak 2026-08-03 12:42:53 -07:00
auxtrace.h perf auxtrace: Include sys/types.h for pid_t 2025-12-03 11:01:05 -08: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 perf block-range: Add missing headers 2019-01-25 15:12:09 +01:00
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 perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
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 perf tools: Use list_del_init() more thorougly 2019-07-09 10:13:27 -03:00
call-path.h perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
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 perf tools: Add clockid_name function 2020-08-06 09:33:57 -03:00
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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
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 perf comm: Remove needless headers from comm.h 2019-01-25 15:12:09 +01:00
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 perf tools: Fix mode setting in copyfile_mode_ns() 2019-10-15 12:05:18 -03:00
copyfile.h perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
counts.c perf stat: Remove unused perf_counts.aggr field 2022-10-27 16:37:25 -03:00
counts.h perf stat: Remove unused perf_counts.aggr field 2022-10-27 16:37:25 -03:00
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 cs-etm: Avoid truncating AUX buffer sizes to int 2026-07-22 22:42:25 -07: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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
demangle-ocaml.c perf tools: Preserve identifier id in OCaml demangler 2021-03-30 12:45:59 -03:00
demangle-ocaml.h perf tools: Add OCaml demangling 2021-02-17 15:15:06 -03:00
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 perf tests: Add dlfilter test 2021-08-11 09:35:44 -03:00
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: Find process with busy PMUs for EBUSY 2026-09-17 12:27:34 -03: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 libbpf: Hashmap interface update to allow both long and void* keys/values 2022-11-09 20:45:14 -08:00
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 perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet 2022-10-15 10:13:16 -03:00
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 hwmon: Fix fd check to accept fd 0 in hwmon_pmu__describe_items() 2026-06-17 08:28:47 -03: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 intel-bts: Fix off-by-one in auxtrace_info minimum size check 2026-08-03 12:43:05 -07:00
intel-bts.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
intel-pt.c perf intel-pt: Fix off-by-one in auxtrace_info minimum size check 2026-08-03 12:43:01 -07: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 perf intlist: Change 'struct intlist' int member to 'unsigned long' 2021-02-08 17:02:00 -03:00
intlist.h perf intlist: Change 'struct intlist' int member to 'unsigned long' 2021-02-08 17:02:00 -03:00
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 perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
levenshtein.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
libbfd.c perf libbfd: Report success when an address is found 2026-09-18 17:24:49 -03: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 perf env: Remove env.h from other headers where just a fwd decl is needed 2019-08-31 19:10:40 -03:00
memswap.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
memswap.h perf memswap: Adopt 'struct u64_swap' from evsel.h 2019-09-20 09:19:22 -03:00
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 perf ordered_events: Add ordered_events__last_flush_time() 2022-07-20 11:07:30 -03:00
parse-branch-options.c perf tools: Add branch counter knob 2023-11-09 13:47:50 -03:00
parse-branch-options.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
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 perf parse-regs: Split parse_regs 2019-05-15 16:36:49 -03:00
parse-sublevel-options.c perf tools: Add general function to parse sublevel options 2020-08-14 09:15:47 -03:00
parse-sublevel-options.h perf tools: Add missing newline at the end of header file 2021-08-24 15:01:31 -03:00
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 record: Move probing cgroup sampling support 2021-06-01 10:32:00 -03:00
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 tools: Introduce perf hooks 2016-11-29 12:13:27 -03:00
perf-hooks.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
perf-hooks.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
PERF-VERSION-GEN perf tools: Don't include signature in version strings 2023-01-02 12:34:06 -03:00
pfm.c perf evlist: Add reference count checking 2026-06-30 10:17:11 -07:00
pfm.h perf list: List callback support for libpfm 2022-11-24 10:04:52 -03:00
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 perf python scripting: Fix printable strings in python3 scripts 2020-10-01 12:10:56 -03:00
print_binary.h Merge branch 'linus' into perf/core, to fix conflicts 2017-11-07 10:30:18 +01:00
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 305 2019-06-05 17:37:04 +02:00
rblist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
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 perf report: Add raw report support for s390 auxiliary trace 2018-08-08 15:26:48 -03:00
s390-cpumsf.c perf evlist: Change env variable to session 2025-07-25 10:37:56 -07:00
s390-cpumsf.h perf auxtrace: Support for perf report -D for s390 2018-08-03 10:34:18 -03:00
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 perf namespaces: Move the conditional setns() prototype to namespaces.h 2019-07-09 10:13:26 -03:00
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 perf srccode: Move struct definition from map.h to srccode.h 2019-02-06 10:00:38 -03:00
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 perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
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 perf tools: Fix various typos in comments 2021-03-23 17:13:43 -03:00
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 perf timechart: Refactor svg_build_topology_map() 2019-08-29 17:38:31 -03:00
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 regs: Enable dumping of SIMD registers 2026-09-14 15:34:43 -03: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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
term.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
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 perf tools: Remove duplicate struct forward declarations 2021-03-25 08:59:10 -03:00
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 perf script: Fix --reltime with --time 2019-10-15 08:36:22 -03:00
tool_pmu.c perf tool_pmu: Make tool PMU events respect enable/disable 2026-05-22 21:37:34 -03: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 perf tools: Remove debug.h from header files not needing it 2019-08-29 17:38:32 -03:00
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 perf stat: Improve readability of shadow stats 2021-03-15 11:36:54 -03:00
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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
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