1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef PERF_BUILD_ID_H_ 3 #define PERF_BUILD_ID_H_ 1 4 5 #define BUILD_ID_SIZE 20 6 #define SBUILD_ID_SIZE (BUILD_ID_SIZE * 2 + 1) 7 8 #include "tool.h" 9 #include "namespaces.h" 10 #include <linux/types.h> 11 12 extern struct perf_tool build_id__mark_dso_hit_ops; 13 struct dso; 14 struct feat_fd; 15 16 int build_id__sprintf(const u8 *build_id, int len, char *bf); 17 int sysfs__sprintf_build_id(const char *root_dir, char *sbuild_id); 18 int filename__sprintf_build_id(const char *pathname, char *sbuild_id); 19 char *build_id_cache__kallsyms_path(const char *sbuild_id, char *bf, 20 size_t size); 21 22 char *dso__build_id_filename(const struct dso *dso, char *bf, size_t size, 23 bool is_debug); 24 25 int build_id__mark_dso_hit(struct perf_tool *tool, union perf_event *event, 26 struct perf_sample *sample, struct perf_evsel *evsel, 27 struct machine *machine); 28 29 int dsos__hit_all(struct perf_session *session); 30 31 bool perf_session__read_build_ids(struct perf_session *session, bool with_hits); 32 int perf_session__write_buildid_table(struct perf_session *session, 33 struct feat_fd *fd); 34 int perf_session__cache_build_ids(struct perf_session *session); 35 36 char *build_id_cache__origname(const char *sbuild_id); 37 char *build_id_cache__linkname(const char *sbuild_id, char *bf, size_t size); 38 char *build_id_cache__cachedir(const char *sbuild_id, const char *name, 39 struct nsinfo *nsi, bool is_kallsyms, 40 bool is_vdso); 41 42 struct strlist; 43 44 struct strlist *build_id_cache__list_all(bool validonly); 45 char *build_id_cache__complement(const char *incomplete_sbuild_id); 46 int build_id_cache__list_build_ids(const char *pathname, struct nsinfo *nsi, 47 struct strlist **result); 48 bool build_id_cache__cached(const char *sbuild_id); 49 int build_id_cache__add_s(const char *sbuild_id, 50 const char *name, struct nsinfo *nsi, 51 bool is_kallsyms, bool is_vdso); 52 int build_id_cache__remove_s(const char *sbuild_id); 53 54 extern char buildid_dir[]; 55 56 void set_buildid_dir(const char *dir); 57 void disable_buildid_cache(void); 58 59 #endif 60