The data strucutre in the new FPO stream is described in the
PE/COFF spec. There is one record per function if frame pointer
is omitted.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
include/llvm/DebugInfo/PDB/Raw/RawTypes.h | ||
---|---|---|
83 ↗ | (On Diff #59652) | Do you think this should go in llvm/Support/COFF.h (or is it perhaps there already?) |
tools/llvm-pdbdump/LLVMOutputStyle.h | ||
36 ↗ | (On Diff #59652) | You will probably need to update YamlOutputStyle.h as well, you can just have the method do nothing. |
tools/llvm-pdbdump/llvm-pdbdump.cpp | ||
157 ↗ | (On Diff #59652) | I'm starting to wonder if all of this should be broken out into a separate tool. The whole yaml thing is to support pdb <-> yaml, so maybe it makes sense for llvm-pdbdump to continue as the "semantic" pretty dumper, and llvm-readpdb as the raw dumper. This way we could have a more consistent and easy to understand command line option set and not have to worry about option conflicts, and reading/writing pdbs would be the same tool, so be able to share a lot of the same code. Anyway, I'm just thinking out loud, obvious that is outside the scope of this patch. |
- Moved FpoData struct to COFF.h.
- Use printBoolean to print out boolean values.
include/llvm/DebugInfo/PDB/Raw/RawTypes.h | ||
---|---|---|
83 ↗ | (On Diff #59652) | Done. |
lib/DebugInfo/PDB/Raw/DbiStream.cpp | ||
313–314 ↗ | (On Diff #59652) | I think readArray takes care of it. |
tools/llvm-pdbdump/LLVMOutputStyle.cpp | ||
691–692 ↗ | (On Diff #59652) | Done. |
tools/llvm-pdbdump/LLVMOutputStyle.h | ||
36 ↗ | (On Diff #59652) | Did you submit YamlOutputStyle.h already? |
lib/DebugInfo/PDB/Raw/DbiStream.cpp | ||
---|---|---|
313–314 ↗ | (On Diff #59672) | I don't see such a check. |
It checks that there is enough space for the requested number of elements
in the underlying stream, but it doesn't check that the stream length is
exactly the right length because it doesn't know if there is more data
after the array