summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2012-10-28 16:06:03 +0100
committerJan Kratochvil <jan.kratochvil@redhat.com>2012-10-28 16:06:03 +0100
commit65c438d4666faf334b22463cd578049942f3a403 (patch)
tree85901794ff3a1ba1d49f0fb966ec72e14db138c8
parentfed45d7e43973e31d35d870b9c1b7ab865dbae73 (diff)
downloadelfutils-65c438d4666faf334b22463cd578049942f3a403.tar.gz
.
-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 9a373752..853671f1 100644
--- a/libdw/libdw.map
+++ b/libdw/libdw.map
@@ -258,6 +258,7 @@ ELFUTILS_0.149 {
ELFUTILS_0.155 {
global:
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 3b8cb37b..3a8d3e07 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. */