1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 #ifndef _PERF_DEBUGINFO_H
3 #define _PERF_DEBUGINFO_H
6 #include <linux/compiler.h>
8 #ifdef HAVE_LIBDW_SUPPORT
10 #include "dwarf-aux.h"
12 /* debug information structure */
18 const unsigned char *build_id
;
21 /* This also tries to open distro debuginfo */
22 struct debuginfo
*debuginfo__new(const char *path
);
23 void debuginfo__delete(struct debuginfo
*dbg
);
25 int debuginfo__get_text_offset(struct debuginfo
*dbg
, Dwarf_Addr
*offs
,
28 #else /* HAVE_LIBDW_SUPPORT */
30 /* dummy debug information structure */
34 static inline struct debuginfo
*debuginfo__new(const char *path __maybe_unused
)
39 static inline void debuginfo__delete(struct debuginfo
*dbg __maybe_unused
)
43 typedef void Dwarf_Addr
;
45 static inline int debuginfo__get_text_offset(struct debuginfo
*dbg __maybe_unused
,
46 Dwarf_Addr
*offs __maybe_unused
,
47 bool adjust_offset __maybe_unused
)
52 #endif /* HAVE_LIBDW_SUPPORT */
54 #ifdef HAVE_DEBUGINFOD_SUPPORT
55 int get_source_from_debuginfod(const char *raw_path
, const char *sbuild_id
,
57 #else /* HAVE_DEBUGINFOD_SUPPORT */
58 static inline int get_source_from_debuginfod(const char *raw_path __maybe_unused
,
59 const char *sbuild_id __maybe_unused
,
60 char **new_path __maybe_unused
)
64 #endif /* HAVE_DEBUGINFOD_SUPPORT */
66 #endif /* _PERF_DEBUGINFO_H */