It was using the regular path for target indices that uses uleb, but TI_GLOBAL_RELOC needs to be uint32_t.
Introduced here: https://reviews.llvm.org/D85685
Fixes: https://github.com/emscripten-core/emscripten/issues/13240
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Would it make sense to also run e.g. llvm/test/MC/WebAssembly/debug-localvar.ll with split-dwarf?
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | ||
---|---|---|
475 | Can we assert that the index is 0? |
Would it make sense to also run e.g. llvm/test/MC/WebAssembly/debug-localvar.ll with split-dwarf?
That file doesn't contain a use of TI_GLOBAL_RELOC, so I instead added to dwarfdump.ll. Sadly the split dwarf output is sufficiently different in many places that my attempt to interleave it with the regular output became too unreadable, so it is now a side-by-side output.
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | ||
---|---|---|
475 | Yup that is already done a little up from this code:
|
llvm/test/MC/WebAssembly/dwarfdump.ll | ||
---|---|---|
68 | wait, did my comment get eaten by Phabricator? This path check will presumably fail on non-windows. I guess it's because %s gets expanded to an absolute path by lit. I guess we could just check for a regex that only matches DW_AT_GNU_dwo_name, and the filename? |
llvm/test/MC/WebAssembly/dwarfdump.ll | ||
---|---|---|
68 | Thanks, nice catch.. would have definitely broken the build. |
Can we assert that the index is 0?