brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · ad6422c Raw
67 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2#ifndef _PERF_DEBUGINFO_H3#define _PERF_DEBUGINFO_H4 5#include <errno.h>6#include <linux/compiler.h>7 8#ifdef HAVE_DWARF_SUPPORT9 10#include "dwarf-aux.h"11 12/* debug information structure */13struct debuginfo {14	Dwarf		*dbg;15	Dwfl_Module	*mod;16	Dwfl		*dwfl;17	Dwarf_Addr	bias;18	const unsigned char	*build_id;19};20 21/* This also tries to open distro debuginfo */22struct debuginfo *debuginfo__new(const char *path);23void debuginfo__delete(struct debuginfo *dbg);24 25int debuginfo__get_text_offset(struct debuginfo *dbg, Dwarf_Addr *offs,26			       bool adjust_offset);27 28#else /* HAVE_DWARF_SUPPORT */29 30/* dummy debug information structure */31struct debuginfo {32};33 34static inline struct debuginfo *debuginfo__new(const char *path __maybe_unused)35{36	return NULL;37}38 39static inline void debuginfo__delete(struct debuginfo *dbg __maybe_unused)40{41}42 43typedef void Dwarf_Addr;44 45static inline int debuginfo__get_text_offset(struct debuginfo *dbg __maybe_unused,46					     Dwarf_Addr *offs __maybe_unused,47					     bool adjust_offset __maybe_unused)48{49	return -EINVAL;50}51 52#endif /* HAVE_DWARF_SUPPORT */53 54#ifdef HAVE_DEBUGINFOD_SUPPORT55int get_source_from_debuginfod(const char *raw_path, const char *sbuild_id,56			       char **new_path);57#else /* HAVE_DEBUGINFOD_SUPPORT */58static 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)61{62	return -ENOTSUP;63}64#endif /* HAVE_DEBUGINFOD_SUPPORT */65 66#endif /* _PERF_DEBUGINFO_H */67