diff options
-rw-r--r-- | libdw/libdw.map | 1 | ||||
-rw-r--r-- | libdwfl/find-debuginfo.c | 8 | ||||
-rw-r--r-- | libdwfl/libdwfl.h | 4 |
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. */ |