Add plugin class SymbolVendorWasm, with the logic to manage debug symbols for Wasm modules.
Depends on D71575.
Paths
| Differential D72650
[LLDB] Add SymbolVendorWasm plugin for WebAssembly debugging ClosedPublic Authored by paolosev on Jan 13 2020, 2:18 PM.
Details
Diff Detail
Event TimelineHerald added subscribers: lldb-commits, sunfish, aheejin and 2 others. · View Herald TranscriptJan 13 2020, 2:18 PM Comment Actions The patch looks pretty good. A reasonable way to test this would be again via lldb-test object-file . The command dumps the "unified section list" of the module, so if the debug info sections show up there, you know the symbol vendor has done it's job. You can look at test/Shell/ObjectFile/ELF/build-id-case.yaml for inspiration. Comment Actions
Thank you for the suggestion! I added a test. paolosev added a child revision: D72751: [LLDB] Add DynamicLoaderWasmDYLD plugin for WebAssembly debugging.Jan 14 2020, 11:33 PM Comment Actions
That's fine. I think I actually prefer separate yaml representations, as that makes what goes into which file more explicit, and shields the test from changes in objcopy behavior. What you could consider is "inlining" the two yaml files into unified-debug-sections.yaml, and using the yaml2obj --docnum functionality (as in e.g., test/Shell/Minidump/memory-region-from-module.yaml) to create two wasm files. This revision is now accepted and ready to land.Jan 16 2020, 7:01 AM Closed by commit rG9b3254dbf9f6: [LLDB] Add SymbolVendorWasm plugin for WebAssembly debugging (authored by Paolo Severini <paolosev@microsoft.com>, committed by dschuff). · Explain WhyJan 16 2020, 9:44 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 238177 lldb/source/API/SystemInitializerFull.cpp
lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
lldb/source/Plugins/SymbolVendor/CMakeLists.txt
lldb/source/Plugins/SymbolVendor/wasm/CMakeLists.txt
lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.h
lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
lldb/test/Shell/ObjectFile/wasm/Inputs/wasm-external_debug_info.yaml
lldb/test/Shell/ObjectFile/wasm/Inputs/wasm-stripped-debug-info.yaml
lldb/test/Shell/ObjectFile/wasm/unified-debug-sections.yaml
lldb/tools/lldb-test/SystemInitializerTest.cpp
|