aboutsummaryrefslogtreecommitdiff
path: root/src/common/linux/elfutils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/linux/elfutils.h')
-rw-r--r--src/common/linux/elfutils.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/common/linux/elfutils.h b/src/common/linux/elfutils.h
index 8fcb6a96..aefb6cf5 100644
--- a/src/common/linux/elfutils.h
+++ b/src/common/linux/elfutils.h
@@ -45,6 +45,7 @@ namespace google_breakpad {
// with specific ELF bits.
struct ElfClass32 {
typedef Elf32_Addr Addr;
+ typedef Elf32_Dyn Dyn;
typedef Elf32_Ehdr Ehdr;
typedef Elf32_Nhdr Nhdr;
typedef Elf32_Phdr Phdr;
@@ -62,6 +63,7 @@ struct ElfClass32 {
struct ElfClass64 {
typedef Elf64_Addr Addr;
+ typedef Elf64_Dyn Dyn;
typedef Elf64_Ehdr Ehdr;
typedef Elf64_Nhdr Nhdr;
typedef Elf64_Phdr Phdr;
@@ -122,6 +124,12 @@ const T*
GetOffset(const typename ElfClass::Ehdr* elf_header,
typename ElfClass::Off offset);
+// Read the value of DT_SONAME from the elf file mapped at |elf_base|. Returns
+// true and fills |soname| with the result if found.
+bool ElfFileSoNameFromMappedFile(const void* elf_base,
+ char* soname,
+ size_t soname_size);
+
} // namespace google_breakpad
#endif // COMMON_LINUX_ELFUTILS_H_