From 65c438d4666faf334b22463cd578049942f3a403 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Sun, 28 Oct 2012 16:06:03 +0100 Subject: . --- libdw/libdw.map | 1 + libdwfl/find-debuginfo.c | 8 ++++++++ libdwfl/libdwfl.h | 4 ++++ 3 files changed, 13 insertions(+) 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. */ -- cgit v1.2.1