diff options
Diffstat (limited to 'toolkit/crashreporter/breakpad-client/linux/minidump_writer/linux_dumper.cc')
-rw-r--r-- | toolkit/crashreporter/breakpad-client/linux/minidump_writer/linux_dumper.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/toolkit/crashreporter/breakpad-client/linux/minidump_writer/linux_dumper.cc b/toolkit/crashreporter/breakpad-client/linux/minidump_writer/linux_dumper.cc index 3b400ce8ca..ef05583397 100644 --- a/toolkit/crashreporter/breakpad-client/linux/minidump_writer/linux_dumper.cc +++ b/toolkit/crashreporter/breakpad-client/linux/minidump_writer/linux_dumper.cc @@ -468,11 +468,12 @@ bool ElfFileSoName(const LinuxDumper& dumper, } // namespace -void LinuxDumper::GetMappingEffectiveNameAndPath(const MappingInfo& mapping, +void LinuxDumper::GetMappingEffectiveNamePathAndVersion(const MappingInfo& mapping, char* file_path, size_t file_path_size, char* file_name, - size_t file_name_size) { + size_t file_name_size, + uint32_t* version) { my_strlcpy(file_path, mapping.name, file_path_size); // Tools such as minidump_stackwalk use the name of the module to look up @@ -487,6 +488,9 @@ void LinuxDumper::GetMappingEffectiveNameAndPath(const MappingInfo& mapping, const char* basename = my_strrchr(file_path, '/'); basename = basename == NULL ? file_path : (basename + 1); my_strlcpy(file_name, basename, file_name_size); + if (version) { + ElfFileSoVersion(mapping.name, version); + } return; } @@ -512,6 +516,10 @@ void LinuxDumper::GetMappingEffectiveNameAndPath(const MappingInfo& mapping, my_strlcpy(file_path, file_name, file_path_size); } } + + if (version) { + ElfFileSoVersion(mapping.name, version); + } } bool LinuxDumper::ReadAuxv() { |