struct ModuleInfoHeader
Declaration
struct ModuleInfoHeader { /* full declaration omitted */ };
Description
The header preceding each entry in the Module Info substream of the DBI stream. Corresponds to the type MODI in the reference implementation.
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/RawTypes.h:212
Member Variables
- public support::ulittle32_t Mod
- Currently opened module. This field is a pointer in the reference implementation, but that won't work on 64-bit systems, and anyway it doesn't make sense to read a pointer from a file. For now it is unused, so just ignore it.
- public llvm::pdb::SectionContrib SC
- First section contribution of this module.
- public support::ulittle16_t Flags
- See ModInfoFlags definition.
- public support::ulittle16_t ModDiStream
- Stream Number of module debug info
- public support::ulittle32_t SymBytes
- Size of local symbol debug info in above stream
- public support::ulittle32_t C11Bytes
- Size of C11 line number info in above stream
- public support::ulittle32_t C13Bytes
- Size of C13 line number info in above stream
- public support::ulittle16_t NumFiles
- Number of files contributing to this module
- public char[2] Padding1
- Padding so the next field is 4-byte aligned.
- public support::ulittle32_t FileNameOffs
- Array of [0..NumFiles) DBI name buffer offsets. In the reference implementation this field is a pointer. But since you can't portably serialize a pointer, on 64-bit platforms they copy all the values except this one into the 32-bit version of the struct and use that for serialization. Regardless, this field is unused, it is only there to store a pointer that can be accessed at runtime.
- public support::ulittle32_t SrcFileNameNI
- Name Index for src file name
- public support::ulittle32_t PdbFilePathNI
- Name Index for path to compiler PDB