From 5034bf1dd28c9066422680cf516513af92bbbb8a Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Wed, 4 Mar 2020 17:37:22 -0800 Subject: DWARF: Ignore a compile unit with no abbreviations (#2678) Such a module can't have valid DIEs, since we have no way to interpret them. Also check if DWARF sections from LLVM have contents - when they are empty the section may exist but have a null for its data. Fixes #2673 --- src/wasm/wasm-debug.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/wasm/wasm-debug.cpp b/src/wasm/wasm-debug.cpp index 50a04a6e6..286b63e69 100644 --- a/src/wasm/wasm-debug.cpp +++ b/src/wasm/wasm-debug.cpp @@ -56,7 +56,7 @@ struct BinaryenDWARFInfo { BinaryenDWARFInfo(const Module& wasm) { // Get debug sections from the wasm. for (auto& section : wasm.userSections) { - if (Name(section.name).startsWith(".debug_")) { + if (Name(section.name).startsWith(".debug_") && section.data.data()) { // TODO: efficiency sections[section.name.substr(1)] = llvm::MemoryBuffer::getMemBufferCopy( llvm::StringRef(section.data.data(), section.data.size())); -- cgit v1.2.3