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 238128 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
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||