Nerixyz wrote:

> The resulting file can be loaded into the debugger all right (which wasn't 
> the case before) but it can't resolve any address, because it doesn't have 
> any section contributions (that can be confirmed with `llvm-pdbutil dump 
> --section-contribs`).

I'm surprised the debugger can even load the PDB. In my testing, section 
contributions weren't necessary.

I forgot to mention that this needs another patch - 
https://github.com/llvm/llvm-project/pull/168211.
The reason LLDB is crashing right now is that the offsets included in symbols 
from the modules (mainly `S_G/LPROC32`) are incorrect. And that's because the 
reconstructed symbols from YAML don't include all information. Specifically, 
`S_INLINESITE` has variable length annotation data, which gets lost and causes 
it to change size.
`S_G/LPROC32` contains an offset to where the function will end (other records 
include similar offsets iirc). Now that `S_INLINESITE` has changed size, this 
is incorrect. 

Arguably, we should also handle this gracefully.

https://github.com/llvm/llvm-project/pull/166455
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to