[all-commits] [llvm/llvm-project] a84295: [lldb] Add a SymbolFileProvider to record and repl...
Jonas Devlieghere via All-commits
all-commits at lists.llvm.org
Mon Aug 24 15:09:27 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: a842950b62b6d029a392c3c312c6495d6368c2a4
https://github.com/llvm/llvm-project/commit/a842950b62b6d029a392c3c312c6495d6368c2a4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2020-08-24 (Mon, 24 Aug 2020)
Changed paths:
M lldb/include/lldb/Utility/Reproducer.h
M lldb/include/lldb/Utility/ReproducerProvider.h
M lldb/source/Commands/CommandObjectReproducer.cpp
M lldb/source/Symbol/LocateSymbolFile.cpp
M lldb/source/Symbol/LocateSymbolFileMacOSX.cpp
M lldb/source/Utility/ReproducerProvider.cpp
A lldb/test/Shell/Reproducer/Inputs/core
A lldb/test/Shell/Reproducer/Inputs/dsymforuuid.sh
A lldb/test/Shell/Reproducer/TestDebugSymbols.test
Log Message:
-----------
[lldb] Add a SymbolFileProvider to record and replay calls to dsymForUUID
When replaying a reproducer captured from a core file, we always use
dsymForUUID for the kernel binary. When enabled, we also use it to find
kexts. Since these files are already contained in the reproducer,
there's no reason to call out to an external tool. If the tool returns a
different result, e.g. because the dSYM got garbage collected, it will
break reproducer replay. The SymbolFileProvider solves the issue by
mapping UUIDs to module and symbol paths in the reproducer.
Differential revision: https://reviews.llvm.org/D86389
More information about the All-commits
mailing list