This is an archive of the discontinued LLVM Phabricator instance.

Regression Fix : __jit_debug_descriptor bind on Windows O/S (updated - formatting)
Needs ReviewPublic

Authored by steve_w on Sep 20 2021, 5:58 AM.

Details

Reviewers
teemperor
Summary

LLDB __jit_debug_descriptor fails to bind to a valid JIT delivery tool because regressed code attempts to find a symbol of type Data which isn't implemented, Windows codepath.

Hence workaround of searching for symbol of type Any is provided to address regression & re-enable Windows based LLDB GDB/JIT development work.

A working example is available (wasmtime), which demonstrates this fix re-enabling GDB/JIT debugging of web assembly client code.

Note that module also had a minor regression (symbols not exported on Windows), so will require trunk of that tree as fix has just landed.

Diff Detail

Repository
rLLDB LLDB

Event Timeline

steve_w created this revision.Sep 20 2021, 5:58 AM
steve_w requested review of this revision.Sep 20 2021, 5:58 AM
steve_w edited the summary of this revision. (Show Details)Sep 20 2021, 6:21 AM
steve_w updated this revision to Diff 373589.Sep 20 2021, 7:50 AM
steve_w retitled this revision from Regression Fix : __jit_debug_descriptor bind on Windows O/S to Regression Fix : __jit_debug_descriptor bind on Windows O/S (updated).
steve_w edited the summary of this revision. (Show Details)Sep 20 2021, 11:11 AM

Thanks for working on this. The formatting nits should be straightforward to fix. Apart from that, it would be really nice if the jit-loader_jitlink/rtdyld_elf.test tests could reflect this fix. Otherwise it might regress again any time.

steve_w added a comment.EditedSep 21 2021, 12:30 AM

You're welcome. Agree test(s) should exercise codepath. Our wasmtime test does that. I'm not personally getting into lldb test infrastructure as have huge workload on primary project, so its essentials only from me at this point.

steve_w updated this revision to Diff 373830.Sep 21 2021, 3:08 AM
steve_w retitled this revision from Regression Fix : __jit_debug_descriptor bind on Windows O/S (updated) to Regression Fix : __jit_debug_descriptor bind on Windows O/S (updated - formatting).