Closed ohz10 closed 1 year ago
A CodeView TypeRecord for 0x1609
does not appear to be documented on LLVM's site.
Thanks for letting us know! We'll look into this as soon as possible. Can you share one of the PDBs with us? Also which Example are you running? There are several.
Please make sure that you don't use /DEBUG:FASTLINK, since that is unsupported.
I added support for missing T_CHAR8 8-bit unicode types in C++20. I haven't come across any PDBs that use TypeRecordKind 0x1609 though.
@ohz10 Can you please share such a PDB with us? We'd like to get this fixed.
@ohz10 Can you please share such a PDB with us?
We'd like to get this fixed.
Unfortunately, I cannot. I no longer have access to the Windows 10 machine I was making those PDBs on.
0x1609
is LF_STRUCTURE2
. TypePropery
/property
is extended to 32 bits.
The dllmain.pdb
file in https://github.com/google/orbit/tree/main/src/Symbols/testdata makes raw_pdb assert with:
Unhandled TypeRecordKind 0x1609
Changing the assert to a log, with the same pdb as above, I also get:
Unhandled TypeRecordKind 1608
Unhandled TypeRecordKind 1609
Unhandled special type 42
The
dllmain.pdb
file in https://github.com/google/orbit/tree/main/src/Symbols/testdata makes raw_pdb assert with:
Unhandled TypeRecordKind 0x1609
Is the source code for dllmain.dll available somewhere?
I had a quick look at loading dllmain.pdb
from the google/orbit repo and added support for the missing TypeRecordKinds 0x1608 and 0x1609 thanks to the hint from @JustasMasiulis. As well as handle the TypeIndexKind 0x42 (T_REAL80) in GetTypeName.
I'm now able to run all the examples on dllmain.pdb
without hitting any asserts.
I have only done some quick testing and I'm traveling from tomorrow and for the rest of this week, so I won't have time to do more testing and open a PR to this repo until next week. Until then you can find the changes here:
That's great @lukekasz, thanks a lot for the quick reply! I'll use your branch, cheers!
When running the Example.exe application on Windows, it always "dies" with the error message
Unhandled TypeRecordKind 0x1609
. Tested against multiple PDB files created with Visual Studio 2019.