build-id.h 2.0 KB

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