[llvm-dev] Split-dwarf debug info for WebAssembly

Derek Schuff via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 14 16:46:09 PDT 2020


Hi all (especially debug info experts!),

You may know that WebAssembly has its own (standardized) executable format
(from which we have also derived an object file format) and linking
support, which are supported alongside ELF et al. upstream. We also have
basic support for DWARF debug info, which shares most of its implementation
with the other object formats.

Because wasm binaries must be downloaded over the wire to a browser,
because loading a wasm module is more expensive than e.g. ELF, and because
want to minimize the amount of data the debugger has to load (since it runs
in the sandbox where we don't have mmap yet), we want to support
split-dwarf for wasm.

My understanding is that there are a couple of different flavors of this,
e.g. the original gcc debug fission
<https://gcc.gnu.org/wiki/DebugFission> scheme
and the DWARF5 version. I have a couple of questions for the debug-info
experts. Namely, are there any references or docs aside from the above link
and the DWARF5 spec that I should know of that would help in working on
this (either spec-type docs, or anything about the status of support for
this use case in LLVM and/or LLDB), and do you have any recommendations
about what we should target? e.g. pitfalls, readiness of DWARF5, areas
where we could help, etc.

Thanks
-Derek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200914/5e06e9a9/attachment.html>


More information about the llvm-dev mailing list