forked from OSchip/llvm-project
46575176e9
This patch adds the file provider which is responsible for capturing files used by LLDB. When capturing a reproducer, we use a file collector that is very similar to the one used in clang. For every file that we touch, we add an entry with a mapping from its virtual to its real path. When we decide to generate a reproducer we copy over the files and their permission into to reproducer folder. When replaying a reproducer, we load the VFS mapping and instantiate a RedirectingFileSystem. The latter will transparently use the files available in the reproducer. I've tested this on two macOS machines with an artificial example. Still, it is very likely that I missed some places where we (still) use native file system calls. I'm hoping to flesh those out while testing with more advanced examples. However, I will fix those things in separate patches. Differential revision: https://reviews.llvm.org/D54617 llvm-svn: 352538 |
||
---|---|---|
.. | ||
Breakpoint | ||
BuildScript | ||
Driver | ||
ExecControl/StopHook | ||
Expr | ||
Heap | ||
Minidump | ||
Modules | ||
Python | ||
Quit | ||
Reproducer | ||
Settings | ||
Suite | ||
SymbolFile | ||
Unit | ||
helper | ||
tools/lldb-mi | ||
CMakeLists.txt | ||
lit-lldb-init | ||
lit.cfg.py | ||
lit.site.cfg.py.in |