summaryrefslogtreecommitdiffstats
path: root/libdwfl/libdwflP.h
diff options
context:
space:
mode:
Diffstat (limited to 'libdwfl/libdwflP.h')
-rw-r--r--libdwfl/libdwflP.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/libdwfl/libdwflP.h b/libdwfl/libdwflP.h
index 941a8b66..f631f946 100644
--- a/libdwfl/libdwflP.h
+++ b/libdwfl/libdwflP.h
@@ -40,6 +40,7 @@
#include "../libdw/libdwP.h" /* We need its INTDECLs. */
#include "../libdwelf/libdwelfP.h"
+#include "../debuginfod/debuginfod.h"
typedef struct Dwfl_Process Dwfl_Process;
@@ -114,6 +115,7 @@ struct Dwfl_User_Core
struct Dwfl
{
const Dwfl_Callbacks *callbacks;
+ debuginfod_client *debuginfod;
Dwfl_Module *modulelist; /* List in order used by full traversals. */
@@ -242,8 +244,7 @@ struct Dwfl_Thread
{
Dwfl_Process *process;
pid_t tid;
- /* The current frame being unwound. Initially it is the bottom frame.
- Later the processed frames get freed and this pointer is updated. */
+ /* Bottom (innermost) frame while we're initializing, NULL afterwards. */
Dwfl_Frame *unwound;
void *callbacks_arg;
};
@@ -635,6 +636,19 @@ extern Dwfl_Error __libdw_open_elf (int fd, Elf **elfp) internal_function;
extern bool __libdwfl_dynamic_vaddr_get (Elf *elf, GElf_Addr *vaddrp)
internal_function;
+/* Internal interface to libdebuginfod (if installed). */
+int
+__libdwfl_debuginfod_find_executable (Dwfl *dwfl,
+ const unsigned char *build_id_bits,
+ size_t build_id_len);
+int
+__libdwfl_debuginfod_find_debuginfo (Dwfl *dwfl,
+ const unsigned char *build_id_bits,
+ size_t build_id_len);
+void
+__libdwfl_debuginfod_end (debuginfod_client *c);
+
+
/* These are working nicely for --core, but are not ready to be
exported interfaces quite yet. */