1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 12:07:45 +00:00

LibCoredump: Accept dynamic libraries with versioned names

Our Clang toolchain uses versioned names for its shared libraries,
meaning that our applications link against `libc++.so.1.0`, not simply
`libc++.so`. Without this change, the LLVM runtime libraries are
excluded from backtraces, which makes debugging toolchain issues harder.
This commit is contained in:
Daniel Bertalan 2021-10-09 16:41:43 +02:00 committed by Linus Groh
parent 9869b598d5
commit 1b63c8f3b0

View file

@ -20,7 +20,7 @@ namespace Coredump {
ELFObjectInfo const* Backtrace::object_info_for_region(ELF::Core::MemoryRegionInfo const& region) ELFObjectInfo const* Backtrace::object_info_for_region(ELF::Core::MemoryRegionInfo const& region)
{ {
auto path = region.object_name(); auto path = region.object_name();
if (!path.starts_with('/') && path.ends_with(".so"sv)) if (!path.starts_with('/') && (path.ends_with(".so"sv) || path.contains(".so."sv)))
path = LexicalPath::join("/usr/lib", path).string(); path = LexicalPath::join("/usr/lib", path).string();
auto maybe_ptr = m_debug_info_cache.get(path); auto maybe_ptr = m_debug_info_cache.get(path);