aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/annotate.c
AgeCommit message (Expand)AuthorFilesLines
2025-10-21perf annotate: Skip annotating data types to lea instructionsZecheng Li1-0/+20
2025-10-21perf annotate: Check return value of evsel__get_arch() properlyTianyou Li1-1/+1
2025-10-21perf annotate: fix a crash when annotate the same symbol with 's' and 'T'Tianyou Li1-1/+1
2025-10-06perf disasm: Remove unused evsel from 'struct annotate_args'Ian Rogers1-1/+0
2025-09-02perf annotate: Use a hashmap to save type dataNamhyung Kim1-2/+27
2025-08-28perf annotate: Add dso__debuginfo() helperNamhyung Kim1-3/+3
2025-08-28perf annotate: Hide data-type for stack operation and canaryNamhyung Kim1-2/+13
2025-08-28perf annotate: Add --code-with-type support for TUINamhyung Kim1-3/+44
2025-08-28perf annotate: Return printed number from disasm_line__write()Namhyung Kim1-3/+3
2025-08-28perf annotate: Simplify width calculation in annotation_line__write()Namhyung Kim1-3/+9
2025-08-28perf annotate: Pass annotation_print_data to annotation_line__write()Namhyung Kim1-14/+19
2025-08-28perf annotate: Remove __annotation_line__write()Namhyung Kim1-27/+19
2025-08-28perf annotate: Remove annotation_print_data.startNamhyung Kim1-4/+2
2025-06-26perf annotate: Fix source code annotate with objdumpNamhyung Kim1-0/+2
2025-04-10perf ui browser annotate: Don't show the source code view status initiallyArnaldo Carvalho de Melo1-0/+1
2025-03-13perf annotate: Implement code + data type annotationNamhyung Kim1-14/+59
2025-03-13perf annotate: Factor out __hist_entry__get_data_type()Namhyung Kim1-75/+95
2025-03-13perf annotate: Pass hist_entry to annotate functionsNamhyung Kim1-4/+7
2025-03-13perf annotate: Pass annotation_options to annotation_line__print()Namhyung Kim1-8/+14
2025-03-13perf annotate: Remove unused len parameter from annotation_line__print()Namhyung Kim1-6/+3
2025-01-27perf annotate: Use an array for the disassembler preferenceIan Rogers1-5/+71
2025-01-18perf annotate: Prefer passing evsel to evsel->core.idxIan Rogers1-17/+15
2024-11-13perf disasm: Allow configuring what disassemblers to useArnaldo Carvalho de Melo1-0/+6
2024-11-09perf dwarf-regs: Pass accurate disassembly machine to get_dwarf_regnumIan Rogers1-3/+3
2024-09-11perf env: Find correct branch counter info on hybridKan Liang1-2/+3
2024-09-10perf annotate: Treat 'call' instruction as stack operationNamhyung Kim1-0/+1
2024-08-14perf annotate: Display the branch counter histogramKan Liang1-3/+37
2024-08-14perf report: Display the branch counter histogramKan Liang1-0/+145
2024-08-14perf annotate: Save branch counters for each blockKan Liang1-12/+56
2024-08-08perf annotate: Cache debuginfo for data type profilingNamhyung Kim1-0/+37
2024-08-05perf annotate: Add --skip-empty optionNamhyung Kim1-5/+17
2024-08-05perf annotate: Use annotation__pcnt_width() consistentlyNamhyung Kim1-9/+5
2024-08-05perf annotate: Set notes->src->nr_events earlyNamhyung Kim1-6/+6
2024-08-05perf annotate: Use al->data_nr if possibleNamhyung Kim1-4/+3
2024-07-31perf annotate: Set instruction name to be used with insn-stat when using raw ...Athira Rajeev1-1/+1
2024-07-31perf annotate: Update parameters for reg extract functions to use raw instruc...Athira Rajeev1-3/+16
2024-05-11perf annotate: Fix segfault on sample histogramNamhyung Kim1-4/+5
2024-05-07perf annotate: Fix memory leak in annotated_sourceIan Rogers1-0/+6
2024-05-07perf annotate: Fix a comment about multi_regs in extract_reg_offset functionAthira Rajeev1-1/+1
2024-05-07perf annotate: Use zfree() to avoid possibly accessing dangling pointersArnaldo Carvalho de Melo1-2/+2
2024-05-06perf dso: Add reference count checking and accessor functionsIan Rogers1-9/+8
2024-04-26perf annotate-data: Check if 'struct annotation_source' was allocated on 'per...Namhyung Kim1-1/+1
2024-04-22Merge remote-tracking branch 'torvalds/master' into perf-tools-nextArnaldo Carvalho de Melo1-0/+3
2024-04-12perf report: Do not collect sample histogram unnecessarilyNamhyung Kim1-0/+7
2024-04-12perf annotate-data: Skip sample histogram for stack canaryNamhyung Kim1-2/+3
2024-04-12perf annotate: Get rid of symbol__ensure_annotate()Namhyung Kim1-12/+2
2024-04-12perf annotate-data: Do not delete non-asm linesNamhyung Kim1-25/+68
2024-04-11perf annotate: Make sure to call symbol__annotate2() in TUINamhyung Kim1-0/+3
2024-04-08perf annotate: Move 'start' field struct to 'struct annotated_source'Namhyung Kim1-5/+5
2024-04-08perf annotate: Move nr_events struct to 'struct annotated_source'Namhyung Kim1-3/+3
2024-04-08perf annotate: Move 'max_jump_sources' struct to 'struct annotated_source'Namhyung Kim1-3/+3
2024-04-08perf annotate: Move 'widths' struct to 'struct annotated_source'Namhyung Kim1-19/+22
2024-04-08perf annotate: Get rid of offsets arrayNamhyung Kim1-23/+6
2024-04-08perf annotate: Check annotation lines more efficientlyNamhyung Kim1-21/+35
2024-04-08perf annotate: Introduce annotated_source__get_line()Namhyung Kim1-5/+21
2024-04-08perf annotate: Staticize some local functionsNamhyung Kim1-3/+5
2024-04-08perf annotate: Fix annotation_calc_lines() to pass correct address to get_src...Namhyung Kim1-4/+6
2024-04-03perf annotate: Initialize 'arch' variable not to trip some -Werror=maybe-unin...Arnaldo Carvalho de Melo1-1/+3
2024-04-03perf annotate: Split out util/disasm.cNamhyung Kim1-1600/+2
2024-04-03perf annotate: Add and use ins__is_nop()Namhyung Kim1-1/+6
2024-04-03perf annotate: Use ins__is_xxx() if possibleNamhyung Kim1-4/+4
2024-03-21perf annotate-data: Add stack canary typeNamhyung Kim1-0/+25
2024-03-21perf annotate-data: Handle this-cpu variables in kernelNamhyung Kim1-0/+7
2024-03-21perf annotate: Parse x86 segment register locationNamhyung Kim1-4/+32
2024-03-21perf annotate-data: Add get_global_var_type()Namhyung Kim1-17/+4
2024-03-21perf annotate-data: Add update_insn_state()Namhyung Kim1-0/+1
2024-03-21perf annotate: Add annotate_get_basic_blocks()Namhyung Kim1-3/+219
2024-03-21perf annotate-data: Introduce 'struct data_loc_info'Namhyung Kim1-15/+15
2024-03-06perf annotate: Remove sym_hist.addr[] arrayNamhyung Kim1-31/+5
2024-03-06perf annotate: Calculate instruction overhead using hashmapNamhyung Kim1-14/+30
2024-03-06perf annotate: Add a hashmap for symbol histogramNamhyung Kim1-2/+40
2024-01-22perf annotate-data: Support global variablesNamhyung Kim1-2/+55
2024-01-22perf annotate-data: Add stack operation pseudo typeNamhyung Kim1-0/+26
2024-01-22perf annotate-data: Handle array style accessesNamhyung Kim1-9/+34
2024-01-22perf annotate-data: Handle macro fusion on x86Namhyung Kim1-1/+16
2024-01-22perf annotate-data: Parse 'lock' prefix from llvm-objdumpNamhyung Kim1-1/+13
2023-12-23perf annotate: Add --insn-stat option for debuggingNamhyung Kim1-0/+38
2023-12-23perf annotate: Add --type-stat option for debuggingNamhyung Kim1-5/+22
2023-12-23perf annotate: Add --data-type optionNamhyung Kim1-4/+6
2023-12-23perf report: Add 'typeoff' sort keyNamhyung Kim1-0/+1
2023-12-23perf annotate-data: Update sample histogram for typeNamhyung Kim1-1/+8
2023-12-23perf annotate: Implement hist_entry__get_data_type()Namhyung Kim1-0/+88
2023-12-23perf annotate: Add annotate_get_insn_location()Namhyung Kim1-0/+107
2023-12-23perf annotate: Factor out evsel__get_arch()Namhyung Kim1-13/+31
2023-12-07perf annotate: Get rid of local annotation optionsNamhyung Kim1-2/+0
2023-12-07perf annotate: Remove remaining usages of local annotation optionsNamhyung Kim1-1/+1
2023-12-07perf annotate: Ensure init/exit for global optionsNamhyung Kim1-8/+11
2023-12-07perf annotate: Use global annotation_optionsNamhyung Kim1-63/+55
2023-12-07perf annotate: Introduce global annotation_optionsNamhyung Kim1-0/+3
2023-11-27perf annotate: Check if operand has multiple regsNamhyung Kim1-0/+36
2023-11-10perf annotate: Move raw_comment and raw_func_start fields out of 'struct ins_...Namhyung Kim1-4/+13
2023-11-10perf annotate: Pass "-l" option to objdump conditionallyNamhyung Kim1-1/+2
2023-11-09perf annotate: Move offsets array from 'struct annotation' to 'struct annotat...Namhyung Kim1-10/+10
2023-11-09perf annotate: Move some source code related fields from 'struct annotation' ...Namhyung Kim1-8/+9
2023-11-09perf annotate: Move max_coverage from 'struct annotation' to 'struct annotate...Namhyung Kim1-1/+1
2023-11-09perf annotate: Split branch stack cycles info from 'struct annotation'Namhyung Kim1-45/+54
2023-11-09perf annotate: Split branch stack cycles information out of 'struct annotatio...Namhyung Kim1-17/+44
2023-08-03perf annotate bpf: Don't enclose non-debug code with an assert()Arnaldo Carvalho de Melo1-3/+7
2023-06-20perf annotate: Fix instruction association and parsing for LoongArchWANG Rui1-2/+6
2023-06-20perf annotation: Switch lock from a mutex to a sharded_mutexIan Rogers1-9/+57
2023-06-16perf annotate: Work with vmlinux outside symfsVincent Whitchurch1-1/+4
2023-06-12perf annotate: Allow whitespace between insn operandsNamhyung Kim1-1/+1
2023-06-12perf srcline: Change free_srcline to zfree_srclineIan Rogers1-1/+1
2023-06-12perf annotate: Fix parse_objdump_line memory leakIan Rogers1-1/+2
2023-06-09perf annotate: Handle x86 instruction suffix generallyNamhyung Kim1-0/+22
2023-05-15perf annotate: Parse x86 SIB addressing properlyNamhyung Kim1-0/+13
2023-05-07Merge tag 'perf-tools-for-v6.4-3-2023-05-06' of git://git.kernel.org/pub/scm/...Linus Torvalds1-29/+56
2023-05-01tools/perf: Add basic support for LoongArchHuacai Chen1-0/+8
2023-04-17perf dso: Add dso__filename_with_chroot() to reduce number of accesses to dso...Arnaldo Carvalho de Melo1-2/+1
2023-04-12perf annotate: Use zfree() to reduce chances of use after freeArnaldo Carvalho de Melo1-1/+2
2023-04-06perf map: Add helper for ->map_ip() and ->unmap_ip()Ian Rogers1-7/+7
2023-04-04perf map: Add accessor for start and endIan Rogers1-2/+2
2023-04-04perf map: Add accessor for dsoIan Rogers1-8/+8
2023-04-04perf symbol: Add command line support for addr2line pathIan Rogers1-0/+6
2023-04-04perf annotate: Allow objdump to be set in perfconfigIan Rogers1-0/+6
2023-04-04perf annotate: Own objdump_path and disassembler_style stringsIan Rogers1-2/+8
2023-04-04perf annotate: Add init/exit to annotation_options remove defaultIan Rogers1-8/+17
2022-10-04perf annotate: Toggle full address <-> offset displayNamhyung Kim1-1/+18
2022-10-04perf dso: Hold lock when accessing nsinfoIan Rogers1-0/+2
2022-10-04perf annotate: Update use of pthread mutexIan Rogers1-7/+6
2022-08-01tools perf: Fix compilation error with new binutilsAndres Freund1-3/+4
2022-04-09perf annotate: Drop objdump stderr to avoid getting stuck waiting for stdout ...Ian Rogers1-0/+1
2022-02-10perf annotate: Try chroot filename for objdumpNamhyung Kim1-0/+10
2022-02-06perf annotate: Set error stream of objdump process for TUINamhyung Kim1-0/+1
2021-11-13perf symbols: Factor out annotation init/exitIan Rogers1-0/+11
2021-11-13perf symbols: Bit pack to save a byteIan Rogers1-1/+1
2021-11-01perf bpf: Pull in bpf_program__get_prog_info_linear()Dave Marchevsky1-1/+2
2021-09-27perf annotate: Add riscv64 supportWilliam Cohen1-0/+5
2021-09-15perf annotate: Add fusion logic for AMD microarchsRavi Bangoria1-1/+0
2021-08-31perf bpf: Fix memory leaks relating to BTF.Ian Rogers1-1/+1
2021-08-03perf annotate: Add disassembly warnings for annotate --stdioJames Clark1-2/+18
2021-08-02perf annotate: Add error log in symbol__annotate()Li Huafei1-1/+3
2021-07-09libperf: Move 'idx' from tools/perf to perf_evsel::idxJiri Olsa1-4/+4
2021-04-20perf annotate: Add line number like in TUI and source location at EOLMartin Liška1-16/+14
2021-03-06perf annotate: Show full source location with 'l' hotkeyMartin Liska1-2/+10
2021-03-06perf config: Add annotate.demangle{,_kernel}Martin Liska1-0/+4
2021-02-11perf annotate: Fix jump parsing for C++ code.Martin Liška1-0/+8
2020-11-04perf annotate: Move bpf header inclusion to inside HAVE_LIBBPF_SUPPORTArnaldo Carvalho de Melo1-4/+4
2020-11-04perf annotate mips: Add perf arch instructions annotate handlersDengcheng Zhu1-0/+8
2020-10-14perf tools: Pass build_id object to build_id__sprintf()Jiri Olsa1-2/+1
2020-10-14perf tools: Use build_id object in dsoJiri Olsa1-2/+2
2020-09-04perf annotate: Allow configuring the 'disassembler_style' knob via 'perf config'Arnaldo Carvalho de Melo1-0/+2
2020-07-09perf annotate: Fix non-null terminated buffer returned by readlink()Numfor Mbiziwo-Tiapo1-4/+11
2020-06-02perf tools: Remove some duplicated includesTiezhu Yang1-1/+0
2020-05-05perf evsel: Rename perf_evsel__env() to evsel__env()Arnaldo Carvalho de Melo1-1/+1
2020-05-05perf evsel: Rename perf_evsel__is_*() to evsel__is*()Arnaldo Carvalho de Melo1-5/+5
2020-05-05perf evsel: Rename perf_evsel__group_desc() to evsel__group_desc()Arnaldo Carvalho de Melo1-2/+2
2020-05-05perf evsel: Rename *perf_evsel__*name() to *evsel__*name()Arnaldo Carvalho de Melo1-2/+2
2020-04-16perf annotate: Add basic support for bpf_imageJiri Olsa1-0/+20
2020-03-04perf annotate: Get rid of annotation->nr_jumpsRavi Bangoria1-2/+0
2020-02-27perf annotate: Fix segfault with source toggleRavi Bangoria1-0/+2
2020-02-27perf annotate: Align struct annotate_argsRavi Bangoria1-6/+6
2020-02-27perf annotate: Simplify disasm_line allocation and freeing codeRavi Bangoria1-55/+31
2020-02-27perf annotate: Remove privsize from symbol__annotate() argsRavi Bangoria1-3/+4
2020-02-27perf annotate: Make perf config effectiveRavi Bangoria1-49/+29
2020-02-27perf annotate: Fix --show-nr-samples for tui/stdio2Ravi Bangoria1-4/+2
2020-02-27perf annotate: Fix --show-total-period for tui/stdio2Ravi Bangoria1-3/+2
2020-01-14perf tools: Support --prefix/--prefix-stripAndi Kleen1-2/+17
2019-11-26perf maps: Rename map_groups.h to maps.hArnaldo Carvalho de Melo1-1/+1
2019-11-26perf map_symbol: Rename ms->mg to ms->mapsArnaldo Carvalho de Melo1-3/+3
2019-11-26perf maps: Merge 'struct maps' with 'struct map_groups'Arnaldo Carvalho de Melo1-3/+3
2019-11-12perf annotate: Stop using map->groups, use map_symbol->mg insteadArnaldo Carvalho de Melo1-3/+3
2019-11-12pref tools: Make 'struct addr_map_symbol' contain 'struct map_symbol'Arnaldo Carvalho de Melo1-21/+22
2019-11-12perf annotate: Pass a 'map_symbol' in places receiving a pair of 'map' and 's...Arnaldo Carvalho de Melo1-29/+27
2019-11-12perf map_groups: Pass the object to map_groups__find_ams()Arnaldo Carvalho de Melo1-3/+3
2019-11-07perf annotate: Fix heap overflowIan Rogers1-1/+1
2019-10-22Merge tag 'perf-core-for-mingo-5.5-20191021' of git://git.kernel.org/pub/scm/...Ingo Molnar1-64/+132
2019-10-22Merge branch 'perf/urgent' into perf/core, to pick up fixesIngo Molnar1-1/+1
2019-10-15perf annotate: Fix multiple memory and file descriptor leaksGustavo A. R. Silva1-1/+1
2019-10-15perf annotate: Fix objdump --no-show-raw-insn flagIan Rogers1-2/+2
2019-10-15perf annotate: Don't pipe objdump output through 'expand' commandIan Rogers1-19/+76
2019-10-15perf annotate: Don't pipe objdump output through 'grep' commandIan Rogers1-1/+8
2019-10-15perf annotate: Use libsubcmd's run-command.h to fork objdumpIan Rogers1-35/+37
2019-10-15perf annotate: Avoid reallocation in objdump parsingIan Rogers1-12/+14
2019-10-11perf diff: Report noisy for cycles diffJin Yao1-0/+4
2019-09-30perf annotate: Don't return -1 for error when doing BPF disassemblyArnaldo Carvalho de Melo1-4/+15
2019-09-30perf annotate: Return appropriate error code for allocation failuresArnaldo Carvalho de Melo1-2/+2
2019-09-30perf annotate: Fix arch specific ->init() failure errorsArnaldo Carvalho de Melo1-0/+6
2019-09-30perf annotate: Propagate the symbol__annotate() error returnArnaldo Carvalho de Melo1-1/+1
2019-09-30perf annotate: Fix the signedness of failure returnsArnaldo Carvalho de Melo1-1/+1
2019-09-30perf annotate: Propagate perf_env__arch() errorArnaldo Carvalho de Melo1-1/+1
2019-09-25perf tools: Replace needless mmap.h with what is needed, event.hArnaldo Carvalho de Melo1-1/+1
2019-09-25perf evlist: Adopt backwards ring buffer state enumArnaldo Carvalho de Melo1-0/+1
2019-09-20perf tools: Remove util.h from where it is not neededArnaldo Carvalho de Melo1-1/+1
2019-08-31perf auxtrace: Uninline functions that touch perf_sessionArnaldo Carvalho de Melo1-0/+3
2019-08-31perf tools: Remove needless evlist.h include directivesArnaldo Carvalho de Melo1-1/+0
2019-08-31perf dso: Adopt DSO related macros from symbol.hArnaldo Carvalho de Melo1-0/+1
2019-08-26perf srcline: Add missing srcline.h header to files needing its defsArnaldo Carvalho de Melo1-0/+2
2019-08-12Merge remote-tracking branch 'torvalds/master' into perf/coreArnaldo Carvalho de Melo1-1/+1
2019-08-08perf annotate: Fix printing of unaugmented disassembled instructions from BPFArnaldo Carvalho de Melo1-1/+1
2019-07-29libperf: Move nr_members from perf's evsel to libperf's perf_evselJiri Olsa1-4/+4
2019-07-29libperf: Add nr_entries to struct perf_evlistJiri Olsa1-1/+1
2019-07-29perf evsel: Rename struct perf_evsel to struct evselJiri Olsa1-16/+16
2019-07-09perf tools: Use list_del_init() more thorouglyArnaldo Carvalho de Melo1-2/+2
2019-07-09perf tools: Use zfree() where applicableArnaldo Carvalho de Melo1-2/+1
2019-07-09perf annotate: Fix dereferencing freed memory found by the smatch toolLeo Yan1-4/+2
2019-07-01perf annotate: Add csky supportMao Han1-0/+5
2019-07-01perf tools: Ditch rtrim(), use strim() from tools/libArnaldo Carvalho de Melo1-1/+2
2019-06-26perf tools: Ditch rtrim(), use skip_spaces() to get closer to the kernelArnaldo Carvalho de Melo1-5/+5
2019-06-25tools perf: Move from sane_ctype.h obtained from git to the Linux's originalArnaldo Carvalho de Melo1-1/+1