merge of '92c36bfdbc6468d1711c043b530e0dfe5abb6dec'
     and 'c22c8c43f8f68b0bffd4d5ccdb2282c958268742'
diff --git a/libdwfl/libdwflP.h b/libdwfl/libdwflP.h
index 4b458e1..e75a3ab 100644
--- a/libdwfl/libdwflP.h
+++ b/libdwfl/libdwflP.h
@@ -237,8 +237,8 @@
 /* Adjust *VALUE from section-relative to absolute.
    MOD->dwfl->callbacks->section_address is called to determine the actual
    address of a loaded section.  */
-extern Dwfl_Error __libdwfl_relocate_value (Dwfl_Module *mod,
-					    size_t m_shstrndx,
+extern Dwfl_Error __libdwfl_relocate_value (Dwfl_Module *mod, Elf *elf,
+					    size_t *shstrndx_cache,
 					    Elf32_Word shndx,
 					    GElf_Addr *value)
      internal_function;
@@ -277,6 +277,21 @@
 extern int __libdwfl_crc32_file (int fd, uint32_t *resp) attribute_hidden;
 
 
+/* Meat of dwfl_report_elf, given elf_begin just called.
+   Consumes ELF on success, not on failure.  */
+extern Dwfl_Module *__libdwfl_report_elf (Dwfl *dwfl, const char *name,
+					  const char *file_name, int fd,
+					  Elf *elf, GElf_Addr base)
+  internal_function;
+
+/* Meat of dwfl_report_offline.  */
+extern Dwfl_Module *__libdwfl_report_offline (Dwfl *dwfl, const char *name,
+					      const char *file_name,
+					      int fd, bool closefd,
+					      int (*predicate) (const char *,
+								const char *))
+  internal_function;
+
 
 /* Avoid PLT entries.  */
 INTDECL (dwfl_begin)