aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/dso.c
AgeCommit message (Expand)AuthorFilesLines
2025-10-06perf dso: Clean up read_symbol() error handlingIan Rogers1-3/+12
2025-10-06perf dso: Support BPF programs in dso__read_symbol()Ian Rogers1-32/+68
2025-10-06perf dso: Move read_symbol() from llvm/capstone to dsoIan Rogers1-0/+67
2025-07-25perf dso: Move build_id to dso_idIan Rogers1-49/+60
2025-07-25perf build-id: Change sprintf functions to snprintfIan Rogers1-2/+2
2025-07-02perf dso: With ref count checking, avoid dso_data holding dso liveIan Rogers1-0/+4
2025-05-21perf dso: Minor refactor to allow clang's Wthread-safety analysisIan Rogers1-19/+26
2025-03-20perf dso: Add support for reading the e_machine type for a dsoIan Rogers1-0/+89
2025-03-17perf dso: Use lock annotations to fix asan deadlockIan Rogers1-27/+47
2025-03-10perf symbol: Support .gnu_debugdata for symbolsStephen Brennan1-0/+3
2024-08-19perf dso: Constify dso_idIan Rogers1-2/+2
2024-07-17perf dso: Fix build when libunwind is enabledJames Clark1-1/+1
2024-06-25tools/perf: Fix the string match for "/tmp/perf-$PID.map" files in dso__loadAthira Rajeev1-0/+12
2024-05-06perf dso: Use container_of() to avoid a pointer in 'struct dso_data'Ian Rogers1-1/+15
2024-05-06perf dso: Add reference count checking and accessor functionsIan Rogers1-171/+197
2024-05-06perf dsos: Switch backing storage to array from rbtree/listIan Rogers1-25/+42
2024-04-12perf dso: Move dso functions out of dsos.cIan Rogers1-0/+61
2024-03-21perf annotate-data: Add a cache for global variable typesNamhyung Kim1-0/+2
2023-12-23perf annotate-data: Add dso->data_types treeNamhyung Kim1-0/+4
2023-10-04tools/perf: Add "is_kmod" to struct dso to check if it is kernel moduleAthira Rajeev1-0/+2
2023-06-23perf symbol: Remove symbol_name_rb_nodeIan Rogers1-2/+5
2023-05-12perf script: Refine printing of dso offset (dsoff)Adrian Hunter1-0/+33
2023-04-17perf dso: Add dso__filename_with_chroot() to reduce number of accesses to dso...Arnaldo Carvalho de Melo1-1/+6
2023-04-06perf map: Add helper for ->map_ip() and ->unmap_ip()Ian Rogers1-2/+4
2022-10-04perf dso: Hold lock when accessing nsinfoIan Rogers1-1/+6
2022-10-04perf dso: Update use of pthread mutexIan Rogers1-6/+6
2022-02-10perf tools: Try chroot'ed filename when opening dso/symbolNamhyung Kim1-2/+13
2021-11-01perf bpf: Pull in bpf_program__get_prog_info_linear()Dave Marchevsky1-0/+1
2021-09-11perf tools: Allow build-id with trailing zerosNamhyung Kim1-0/+10
2021-07-15perf dso: Fix memory leak in dso__new_map()Riccardo Mancini1-1/+3
2020-11-27perf tools: Add filename__decompress functionJiri Olsa1-12/+19
2020-11-04perf env: Conditionally compile BPF support code on having HAVE_LIBBPF_SUPPORTArnaldo Carvalho de Melo1-4/+10
2020-10-14perf tools: Align buildid list output for short build idsJiri Olsa1-1/+1
2020-10-14perf tools: Pass build_id object to dso__build_id_equal()Jiri Olsa1-2/+3
2020-10-14perf tools: Pass build_id object to dso__set_build_id()Jiri Olsa1-2/+2
2020-10-14perf tools: Pass build_id object to build_id__sprintf()Jiri Olsa1-4/+2
2020-10-14perf tools: Pass build id object to sysfs__read_build_id()Jiri Olsa1-4/+2
2020-10-14perf tools: Use build_id object in dsoJiri Olsa1-9/+9
2020-08-13perf tools: Rename 'enum dso_kernel_type' to 'enum dso_space_type'Jiri Olsa1-1/+1
2020-07-10perf tools: Add support for PERF_RECORD_KSYMBOL_TYPE_OOLAdrian Hunter1-0/+3
2020-05-28perf symbols: Fix debuginfo search for UbuntuAdrian Hunter1-0/+16
2020-04-16perf annotate: Add basic support for bpf_imageJiri Olsa1-0/+1
2019-11-19perf dso: Move dso_id from 'struct map' to 'struct dso'Arnaldo Carvalho de Melo1-6/+18
2019-11-06perf dso: Add dso__data_write_cache_addr()Adrian Hunter1-15/+58
2019-11-06perf dso: Refactor dso_cache__read()Adrian Hunter1-27/+37
2019-08-31perf auxtrace: Uninline functions that touch perf_sessionArnaldo Carvalho de Melo1-0/+2
2019-08-31perf dsos: Move the dsos struct and its methods to separate source filesArnaldo Carvalho de Melo1-232/+3
2019-07-09perf tools: Use list_del_init() more thorouglyArnaldo Carvalho de Melo1-1/+1
2019-07-09tools lib: Adopt zalloc()/zfree() from tools/perfArnaldo Carvalho de Melo1-1/+2
2019-07-01perf tools: Drop strxfrchar(), use strreplace() equivalent from kernelArnaldo Carvalho de Melo1-1/+2
2019-05-28perf dso: Add BPF DSO read and size hooksJiri Olsa1-1/+48
2019-05-28perf dso: Simplify dso_cache__read functionJiri Olsa1-11/+6
2019-05-28perf dso: Separate generic code in dso_cache__readJiri Olsa1-21/+27
2019-05-28perf dso: Separate generic code in dso__data_file_size()Jiri Olsa1-7/+12
2019-03-19perf symbols: Introduce DSO_BINARY_TYPE__BPF_PROG_INFOSong Liu1-0/+1
2019-03-19perf report: Indicate JITed code better in reportAndi Kleen1-18/+24
2019-02-06pref tools: Add missing map.h includesArnaldo Carvalho de Melo1-0/+1
2019-01-25perf symbols: Use cached rbtreesDavidlohr Bueso1-2/+2
2019-01-25perf callchain: Use cached rbtreesDavidlohr Bueso1-2/+2
2019-01-25perf namespaces: Remove namespaces.h from .h headersArnaldo Carvalho de Melo1-0/+1
2019-01-25perf symbols: Remove some unnecessary includes from symbol.hArnaldo Carvalho de Melo1-0/+1
2018-12-18perf dso: Export data_file_size() method there are no symbolsAdrian Hunter1-3/+3
2018-12-17perf dso: Fix unchecked usage of strncpy()Arnaldo Carvalho de Melo1-1/+1
2018-08-20perf tools: Remove ext from struct kmod_pathJiri Olsa1-9/+1
2018-08-20perf tools: Add is_compressed callback to compressions arrayJiri Olsa1-3/+20
2018-08-20perf tools: Move the temp file processing into decompress_kmoduleJiri Olsa1-17/+12
2018-08-20perf tools: Use compression id in decompress_kmodule()Jiri Olsa1-21/+3
2018-08-20perf tools: Store compression id into struct dsoJiri Olsa1-1/+4
2018-08-20perf tools: Add compression id into 'struct kmod_path'Jiri Olsa1-7/+11
2018-08-20perf tools: Make is_supported_compression() staticJiri Olsa1-1/+1
2018-08-20perf tools: Make decompress_to_file() function staticJiri Olsa1-1/+1
2018-08-20perf tools: Get rid of dso__needs_decompress() call in __open_dso()Jiri Olsa1-1/+3
2018-06-06perf tools: Fix symbol and object code resolution for vdso32 and vdsox32Adrian Hunter1-0/+2
2018-04-27perf symbols: Unify symbol mapsArnaldo Carvalho de Melo1-21/+13
2018-01-23perf symbols: Using O_CLOEXEC in do_openWang YanQing1-1/+1
2017-11-07Merge branch 'linus' into perf/core, to fix conflictsIngo Molnar1-0/+1
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-25perf report: Cache srclines for callchain nodesMilian Wolff1-0/+2
2017-10-24perf callchain: Create real callchain entries for inlined framesMilian Wolff1-0/+5
2017-09-21perf tools: Provide mutex wrappers for pthreads rwlocksArnaldo Carvalho de Melo1-6/+6
2017-09-13perf tools: Make copyfile_offset() staticArnaldo Carvalho de Melo1-0/+1
2017-07-18perf buildid-cache: Cache debuginfoKrister Johansen1-1/+7
2017-07-18perf buildid-cache: Support binary objects from other namespacesKrister Johansen1-1/+11
2017-07-18perf symbols: Find symbols in different mount namespaceKrister Johansen1-0/+1
2017-06-08perf tools: Consolidate error path in __open_dso()Namhyung Kim1-11/+8
2017-06-08perf tools: Decompress kernel module when reading DSO dataNamhyung Kim1-0/+16
2017-06-08perf tools: Introduce dso__decompress_kmodule_{fd,path}Namhyung Kim1-0/+58
2017-06-08perf tools: Fix a memory leak in __open_dso()Namhyung Kim1-1/+3
2017-06-05perf symbols: Set module info when build-id event foundNamhyung Kim1-0/+15
2017-04-24perf tools: Remove string.h, unistd.h and sys/stat.h from util.hArnaldo Carvalho de Melo1-0/+3
2017-04-24perf tools: Add compress.h for the *_decompress_to_file() headersArnaldo Carvalho de Melo1-0/+1
2017-04-19perf tools: Move path related functions to util/path.hArnaldo Carvalho de Melo1-0/+1
2017-04-19perf tools: Include errno.h where neededArnaldo Carvalho de Melo1-0/+1
2017-04-19perf tools: Move extra string util functions to util/string2.hArnaldo Carvalho de Melo1-0/+1
2017-04-19perf tools: Add include <linux/kernel.h> where ARRAY_SIZE() is usedArnaldo Carvalho de Melo1-0/+1
2017-03-03perf dso: Convert dso.refcnt from atomic_t to refcount_tElena Reshetova1-3/+3
2017-02-28Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-1/+1
2017-02-27scripts/spelling.txt: add "an one" pattern and fix typo instancesMasahiro Yamada1-1/+1
2017-02-20perf utils: Check verbose flag properlyNamhyung Kim1-1/+1
2017-01-18perf unwind: Fix looking up dwarf unwind stack infoMatija Glavinic Pecotic1-11/+37
2016-09-20perf symbols: Do not open device filesJiri Olsa1-0/+3
2016-07-12tools: Introduce str_error_r()Arnaldo Carvalho de Melo1-3/+3
2016-06-30perf tools: Allow to reset open files counterJiri Olsa1-6/+16
2016-05-20perf tools: Set buildid dir under symfs when --symfs is providedHe Kuang1-3/+1
2016-05-16perf symbols: Store vdso buildid unconditionallyHe Kuang1-1/+2
2016-05-11perf tools: Use SBUILD_ID_SIZE where applicableMasami Hiramatsu1-2/+2
2016-01-26perf symbols: Do not read symbols/data from device filesJiri Olsa1-0/+5
2015-11-19perf tools: Fix __dsos__addnew to put dso after adding it to the listMasami Hiramatsu1-0/+2
2015-11-13perf symbols: Fix dso lookup by long name and missing buildidsAdrian Hunter1-0/+17
2015-06-08perf tools: Reference count struct dsoArnaldo Carvalho de Melo1-1/+36
2015-06-08perf tools: Protect accesses the dso rbtrees/lists with a rw lockArnaldo Carvalho de Melo1-14/+38
2015-06-03perf tools: Deal with kernel module names in '[]' correctlyWang Nan1-5/+42
2015-05-29perf machine: Introduce machine__findnew_dso() methodArnaldo Carvalho de Melo1-1/+1
2015-05-29perf machine: No need to have two DSOs listsArnaldo Carvalho de Melo1-1/+1
2015-05-29perf machine: Adopt findnew_kernel methodArnaldo Carvalho de Melo1-2/+2
2015-05-27perf tools: Add dso__data_get/put_fd()Namhyung Kim1-9/+22
2015-05-27perf tools: Get rid of dso__data_fd() from dso__data_size()Namhyung Kim1-6/+0
2015-05-27perf tools: Fix dso__data_read_offset() file openingNamhyung Kim1-27/+32
2015-05-18perf tools: Protect dso cache fd with a mutexNamhyung Kim1-26/+72
2015-05-18perf symbols: Protect dso cache tree using dso->lockNamhyung Kim1-7/+27
2015-05-18perf symbols: Protect dso symbol loading using a mutexNamhyung Kim1-0/+2
2015-04-29perf tools: Add member to struct dso for an instruction cacheAdrian Hunter1-0/+2
2015-03-24perf symbols: Save DSO loading errno to better report errorsArnaldo Carvalho de Melo1-0/+33
2015-03-23perf tools: Remove is_kmodule_extension functionJiri Olsa1-11/+0
2015-03-23perf tools: Remove compressed argument from is_kernel_moduleJiri Olsa1-4/+1
2015-03-23perf tools: Use kmod_path__parse in is_kernel_moduleJiri Olsa1-10/+6
2015-03-21perf tools: Add dsos__addnew functionJiri Olsa1-9/+12
2015-03-21perf tools: Add kmod_path__parse functionJiri Olsa1-0/+66
2015-03-21perf tools: Add lzma decompression support for kernel moduleJiri Olsa1-0/+3
2015-02-06perf symbols: debuglink should take symfs option into accountVictor Kamensky1-3/+3
2015-02-06perf tools: Fix a dso open fail messageNamhyung Kim1-1/+1
2015-01-29perf symbols: Convert lseek + read to preadNamhyung Kim1-5/+1
2014-11-05perf tools: Add gzip decompression support for kernel moduleNamhyung Kim1-8/+4
2014-11-04perf symbols: Preparation for compressed kernel module supportNamhyung Kim1-0/+75
2014-10-01perf symbols: Improve DSO long names lookup speed with rbtreeWaiman Long1-4/+66
2014-09-30perf symbols: Encapsulate dsos list head into struct dsosWaiman Long1-8/+9
2014-08-15perf util: Replace strerror with strerror_r for thread-safetyMasami Hiramatsu1-2/+6
2014-07-31perf symbols: Make sure --symfs usage includes the path separatorArnaldo Carvalho de Melo1-15/+13
2014-07-23perf tools: Add dso__type()Adrian Hunter1-0/+11
2014-07-23perf tools: Add dso__data_size()Adrian Hunter1-0/+22
2014-07-23perf tools: Add dso__data_status_seen()Adrian Hunter1-0/+12
2014-07-23perf tools: Record whether a dso has dataAdrian Hunter1-8/+15
2014-07-22perf tools: Fix incorrect fd error comparisonAdrian Hunter1-1/+1
2014-07-16perf symbols: Record whether a dso is 64-bitAdrian Hunter1-0/+1
2014-06-12perf tools: Add dso__data_* interface descriptonsJiri Olsa1-0/+59
2014-06-12perf tools: Allow to close dso fd in case of open failureJiri Olsa1-1/+22
2014-06-12perf tools: Add file size check and factor dso__data_read_offsetJiri Olsa1-15/+49
2014-06-12perf tools: Cache dso data file descriptorJiri Olsa1-2/+59
2014-06-12perf tools: Add global count of opened dso objectsJiri Olsa1-1/+7
2014-06-12perf tools: Add global list of opened dso objectsJiri Olsa1-2/+39
2014-06-12perf tools: Add data_fd into dso objectJiri Olsa1-4/+19
2014-06-12perf tools: Separate dso data related variablesJiri Olsa1-4/+4
2014-02-24perf symbols: Check return value of filename__read_debuglink()Stephane Eranian1-2/+2
2013-12-27perf tools: Introduce zfreeArnaldo Carvalho de Melo1-6/+3
2013-12-17perf symbols: Use consistent name for the DSO binary type memberArnaldo Carvalho de Melo1-5/+5
2013-12-16perf symbols: Clarify method to get DSO binary_type filenameArnaldo Carvalho de Melo1-7/+7
2013-12-16perf symbols: Remove needless static binary_type arrayArnaldo Carvalho de Melo1-1/+1
2013-12-10perf symbols: Fix bug in usage of the basename() functionStephane Eranian1-1/+22
2013-12-10perf symbols: Rename filename argumentArnaldo Carvalho de Melo1-16/+16
2013-12-10perf symbols: Constify some DSO methods parametersArnaldo Carvalho de Melo1-6/+5
2013-12-10perf symbols: Set freed members to NULL in dso destructorArnaldo Carvalho de Melo1-2/+12
2013-12-10perf symbols: Constify dso->long_nameArnaldo Carvalho de Melo1-5/+5
2013-12-10perf symbols: Remove open coded management of long_name_allocated memberArnaldo Carvalho de Melo1-4/+9
2013-12-10perf symbols: Remove open coded management of short_name_allocated memberAdrian Hunter1-6/+11
2013-12-10perf symbols: Rename [sl]name_alloc to match the members they refer toArnaldo Carvalho de Melo1-2/+2
2013-12-04perf tools: Do not disable source line lookup just because of 1 failureAdrian Hunter1-0/+1
2013-12-04perf symbols: Retain symbol source file name to lookup source line numbersAdrian Hunter1-0/+1
2013-12-04perf symbols: Retain bfd reference to lookup source line numbersAdrian Hunter1-0/+1
2013-10-09perf tools: Save failed result of get_srcline()Namhyung Kim1-0/+1
2013-10-09perf symbols: Support for Openembedded/Yocto -dbg packagesRicardo Ribalda Delgado1-13/+36
2013-08-07perf symbols: Add support for reading from /proc/kcoreAdrian Hunter1-0/+5
2013-08-07perf tools: Make it possible to read object code from kernel modulesAdrian Hunter1-0/+1
2013-08-07perf tools: Make it possible to read object code from vmlinuxAdrian Hunter1-2/+2
2013-07-08perf symbols: Fix vdso list searchingWaiman Long1-2/+8
2012-12-09perf symbols: Generalize filter in __fprintf_buildid methodsArnaldo Carvalho de Melo1-2/+2
2012-12-09perf symbols: Fix dso__fprintf() print statementStephane Eranian1-1/+1
2012-11-09perf machine: Move more methods to machine.[ch]Arnaldo Carvalho de Melo1-0/+1
2012-10-29perf tools: Move dso_* related functions into dso objectJiri Olsa1-0/+594