summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libdw/libdw.map1
-rw-r--r--libdwfl/find-debuginfo.c8
-rw-r--r--libdwfl/libdwfl.h4
3 files changed, 13 insertions, 0 deletions
diff --git a/libdw/libdw.map b/libdw/libdw.map
index bf65d837..3398089b 100644
--- a/libdw/libdw.map
+++ b/libdw/libdw.map
@@ -259,6 +259,7 @@ ELFUTILS_0.156 {
global:
dwfl_core_filename_report;
dwfl_report_elf_baseaddr;
+ dwfl_fd_find_debuginfo;
dwfl_frame_state_pid;
dwfl_frame_state_core;
dwfl_frame_state_data;
diff --git a/libdwfl/find-debuginfo.c b/libdwfl/find-debuginfo.c
index 21db91a4..40c96404 100644
--- a/libdwfl/find-debuginfo.c
+++ b/libdwfl/find-debuginfo.c
@@ -269,3 +269,11 @@ dwfl_standard_find_debuginfo (Dwfl_Module *mod,
return fd;
}
INTDEF (dwfl_standard_find_debuginfo)
+
+bool
+dwfl_fd_find_debuginfo (Dwfl_Module *mod, GElf_Word debuglink_crc, int fd)
+{
+ bool cancheck = debuglink_crc != (GElf_Word) 0;
+ return validate (mod, fd, cancheck, debuglink_crc);
+}
+INTDEF (dwfl_fd_find_debuginfo)
diff --git a/libdwfl/libdwfl.h b/libdwfl/libdwfl.h
index dee3e2f6..b63e6f83 100644
--- a/libdwfl/libdwfl.h
+++ b/libdwfl/libdwfl.h
@@ -304,6 +304,10 @@ extern int dwfl_standard_find_debuginfo (Dwfl_Module *, void **,
const char *, const char *,
GElf_Word, char **);
+/* Provide supplied separate debug info file FD for MOD. */
+extern bool dwfl_fd_find_debuginfo (Dwfl_Module *mod, GElf_Word debuglink_crc,
+ int fd);
+
/* This callback must be used when using dwfl_offline_* to report modules,
if ET_REL is to be supported. */