mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-11 10:26:44 +00:00
PDB: Merge type info.
This patch is to merge type info in multiple .debug$T sections. One mystery that needs to be solved is that it is not clear how the MSVC linker uses TPI and IPI streams. Both streams contain type info, and it is not obvious what kind of record should go which. dumppdb command in microsoft-pdb repository prints out IPI stream contents as "IDs" and TPI stream as "TYPES", but looks like the tool don't really care about which stream type recrods were read from. For now, in this patch, I emit all type records to TPI stream. It might just work with other tools. If not, we need to investigate it more. llvm-svn: 291739
This commit is contained in:
parent
2245293541
commit
5289662e4a
@ -18,6 +18,8 @@
|
||||
#include "llvm/DebugInfo/CodeView/SymbolDumper.h"
|
||||
#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
|
||||
#include "llvm/DebugInfo/CodeView/TypeDumpVisitor.h"
|
||||
#include "llvm/DebugInfo/CodeView/TypeStreamMerger.h"
|
||||
#include "llvm/DebugInfo/CodeView/TypeTableBuilder.h"
|
||||
#include "llvm/DebugInfo/MSF/ByteStream.h"
|
||||
#include "llvm/DebugInfo/MSF/MSFBuilder.h"
|
||||
#include "llvm/DebugInfo/MSF/MSFCommon.h"
|
||||
@ -63,22 +65,51 @@ static SectionChunk *findByName(std::vector<SectionChunk *> &Sections,
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
static ArrayRef<uint8_t> getDebugT(ObjectFile *File) {
|
||||
SectionChunk *Sec = findByName(File->getDebugChunks(), ".debug$T");
|
||||
static ArrayRef<uint8_t> getDebugSection(ObjectFile *File, StringRef SecName) {
|
||||
SectionChunk *Sec = findByName(File->getDebugChunks(), SecName);
|
||||
if (!Sec)
|
||||
return {};
|
||||
|
||||
// First 4 bytes are section magic.
|
||||
ArrayRef<uint8_t> Data = Sec->getContents();
|
||||
if (Data.size() < 4)
|
||||
fatal(".debug$T too short");
|
||||
fatal(SecName + " too short");
|
||||
if (read32le(Data.data()) != COFF::DEBUG_SECTION_MAGIC)
|
||||
fatal(".debug$T has an invalid magic");
|
||||
fatal(SecName + " has an invalid magic");
|
||||
return Data.slice(4);
|
||||
}
|
||||
|
||||
// Merge .debug$T sections and returns it.
|
||||
static std::vector<uint8_t> mergeDebugT(SymbolTable *Symtab) {
|
||||
ScopedPrinter W(outs());
|
||||
|
||||
// Visit all .debug$T sections to add them to Builder.
|
||||
codeview::TypeTableBuilder Builder(BAlloc);
|
||||
for (ObjectFile *File : Symtab->ObjectFiles) {
|
||||
ArrayRef<uint8_t> Data = getDebugSection(File, ".debug$T");
|
||||
if (Data.empty())
|
||||
continue;
|
||||
|
||||
msf::ByteStream Stream(Data);
|
||||
codeview::CVTypeArray Types;
|
||||
msf::StreamReader Reader(Stream);
|
||||
if (auto EC = Reader.readArray(Types, Reader.getLength()))
|
||||
fatal(EC, "Reader::readArray failed");
|
||||
if (!codeview::mergeTypeStreams(Builder, Types))
|
||||
fatal("codeview::mergeTypeStreams failed");
|
||||
}
|
||||
|
||||
// Construct section contents.
|
||||
std::vector<uint8_t> V;
|
||||
Builder.ForEachRecord([&](TypeIndex TI, ArrayRef<uint8_t> Rec) {
|
||||
V.insert(V.end(), Rec.begin(), Rec.end());
|
||||
});
|
||||
return V;
|
||||
}
|
||||
|
||||
static void dumpDebugT(ScopedPrinter &W, ObjectFile *File) {
|
||||
ArrayRef<uint8_t> Data = getDebugT(File);
|
||||
ListScope LS(W, "DebugT");
|
||||
ArrayRef<uint8_t> Data = getDebugSection(File, ".debug$T");
|
||||
if (Data.empty())
|
||||
return;
|
||||
|
||||
@ -90,11 +121,12 @@ static void dumpDebugT(ScopedPrinter &W, ObjectFile *File) {
|
||||
}
|
||||
|
||||
static void dumpDebugS(ScopedPrinter &W, ObjectFile *File) {
|
||||
SectionChunk *Sec = findByName(File->getDebugChunks(), ".debug$S");
|
||||
if (!Sec)
|
||||
ListScope LS(W, "DebugS");
|
||||
ArrayRef<uint8_t> Data = getDebugSection(File, ".debug$S");
|
||||
if (Data.empty())
|
||||
return;
|
||||
|
||||
msf::ByteStream Stream(Sec->getContents());
|
||||
msf::ByteStream Stream(Data);
|
||||
CVSymbolArray Symbols;
|
||||
msf::StreamReader Reader(Stream);
|
||||
if (auto EC = Reader.readArray(Symbols, Reader.getLength()))
|
||||
@ -116,21 +148,15 @@ static void dumpCodeView(SymbolTable *Symtab) {
|
||||
}
|
||||
}
|
||||
|
||||
static void addTypeInfo(SymbolTable *Symtab,
|
||||
pdb::TpiStreamBuilder &TpiBuilder) {
|
||||
for (ObjectFile *File : Symtab->ObjectFiles) {
|
||||
ArrayRef<uint8_t> Data = getDebugT(File);
|
||||
if (Data.empty())
|
||||
continue;
|
||||
|
||||
msf::ByteStream Stream(Data);
|
||||
codeview::CVTypeArray Records;
|
||||
msf::StreamReader Reader(Stream);
|
||||
if (auto EC = Reader.readArray(Records, Reader.getLength()))
|
||||
fatal(EC, "Reader.readArray failed");
|
||||
for (const codeview::CVType &Rec : Records)
|
||||
TpiBuilder.addTypeRecord(Rec);
|
||||
}
|
||||
static void addTypeInfo(pdb::TpiStreamBuilder &TpiBuilder,
|
||||
ArrayRef<uint8_t> Data) {
|
||||
msf::ByteStream Stream(Data);
|
||||
codeview::CVTypeArray Records;
|
||||
msf::StreamReader Reader(Stream);
|
||||
if (auto EC = Reader.readArray(Records, Reader.getLength()))
|
||||
fatal(EC, "Reader.readArray failed");
|
||||
for (const codeview::CVType &Rec : Records)
|
||||
TpiBuilder.addTypeRecord(Rec);
|
||||
}
|
||||
|
||||
// Creates a PDB file.
|
||||
@ -165,8 +191,11 @@ void coff::createPDB(StringRef Path, SymbolTable *Symtab,
|
||||
// Add an empty TPI stream.
|
||||
auto &TpiBuilder = Builder.getTpiBuilder();
|
||||
TpiBuilder.setVersionHeader(pdb::PdbTpiV80);
|
||||
if (Config->DebugPdb)
|
||||
addTypeInfo(Symtab, TpiBuilder);
|
||||
std::vector<uint8_t> TpiData;
|
||||
if (Config->DebugPdb) {
|
||||
TpiData = mergeDebugT(Symtab);
|
||||
addTypeInfo(TpiBuilder, TpiData);
|
||||
}
|
||||
|
||||
// Add an empty IPI stream.
|
||||
auto &IpiBuilder = Builder.getIpiBuilder();
|
||||
|
172
lld/test/COFF/Inputs/pdb1.yaml
Normal file
172
lld/test/COFF/Inputs/pdb1.yaml
Normal file
@ -0,0 +1,172 @@
|
||||
--- !COFF
|
||||
header:
|
||||
Machine: IMAGE_FILE_MACHINE_AMD64
|
||||
Characteristics: [ ]
|
||||
sections:
|
||||
- Name: .drectve
|
||||
Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
|
||||
Alignment: 1
|
||||
SectionData: 2020202F44454641554C544C49423A224C4942434D5422202F44454641554C544C49423A224F4C444E414D45532220
|
||||
- Name: '.debug$S'
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 1
|
||||
SectionData: 04000000F1000000580000001A00011100000000443A5C625C72657434322D6D61696E2E6F626A003A003C1100600000D00013000000F259000013000000F25900004D6963726F736F667420285229204F7074696D697A696E6720436F6D70696C657200F10000004E0000002A0047110000000000000000000000000E000000040000000900000005100000000000000000006D61696E001C001210280000000000000000000000000000000000000000000042110002004F110000F20000002000000000000000000000000E0000000000000001000000140000000000000002000080F400000018000000010000001001C538722F63570DF6705DDE06FE96E5D10000F30000001300000000643A5C625C72657434322D6D61696E2E630000F10000000800000006004C110E100000
|
||||
Relocations:
|
||||
- VirtualAddress: 140
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECREL
|
||||
- VirtualAddress: 144
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECTION
|
||||
- VirtualAddress: 196
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECREL
|
||||
- VirtualAddress: 200
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECTION
|
||||
- Name: '.debug$T'
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 1
|
||||
SectionData: 0400000006000112000000000E0008107400000000000000001000000A000210011000000C0001000A00011201000000000000000E0008107400000000000000031000001200011600000000041000006D61696E00F3F2F10E0001160000000001100000666F6F000E00051600000000443A5C6200F3F2F12200051600000000433A5C767331345C56435C42494E5C616D6436345C636C2E6578650002010516000000002D5A37202D63202D4D54202D49433A5C767331345C56435C494E434C554445202D49433A5C767331345C56435C41544C4D46435C494E434C554445202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C31305C696E636C7564655C31302E302E31303135302E305C7563727422202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C4E4554465853444B5C342E365C696E636C7564655C756D22202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C73686172656422000A0004160100000009100000820005160A100000202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C756D22202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C77696E727422202D5443202D5800F3F2F1160005160000000072657434322D6D61696E2E6300F3F2F11600051600000000443A5C625C76633134302E70646200F11A000316050007100000081000000C1000000D1000000B100000F2F1
|
||||
- Name: '.text$mn'
|
||||
Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 16
|
||||
SectionData: 4883EC28E8000000004883C428C3
|
||||
Relocations:
|
||||
- VirtualAddress: 5
|
||||
SymbolName: foo
|
||||
Type: IMAGE_REL_AMD64_REL32
|
||||
- Name: .xdata
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 4
|
||||
SectionData: '0104010004420000'
|
||||
- Name: .pdata
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 4
|
||||
SectionData: '000000000E00000000000000'
|
||||
Relocations:
|
||||
- VirtualAddress: 0
|
||||
SymbolName: '$LN3'
|
||||
Type: IMAGE_REL_AMD64_ADDR32NB
|
||||
- VirtualAddress: 4
|
||||
SymbolName: '$LN3'
|
||||
Type: IMAGE_REL_AMD64_ADDR32NB
|
||||
- VirtualAddress: 8
|
||||
SymbolName: '$unwind$main'
|
||||
Type: IMAGE_REL_AMD64_ADDR32NB
|
||||
symbols:
|
||||
- Name: '@comp.id'
|
||||
Value: 17062386
|
||||
SectionNumber: -1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
- Name: '@feat.00'
|
||||
Value: 2147484048
|
||||
SectionNumber: -1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
- Name: .drectve
|
||||
Value: 0
|
||||
SectionNumber: 1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 47
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.debug$S'
|
||||
Value: 0
|
||||
SectionNumber: 2
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 304
|
||||
NumberOfRelocations: 4
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.debug$T'
|
||||
Value: 0
|
||||
SectionNumber: 3
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 636
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.text$mn'
|
||||
Value: 0
|
||||
SectionNumber: 4
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 14
|
||||
NumberOfRelocations: 1
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 1682752513
|
||||
Number: 0
|
||||
- Name: foo
|
||||
Value: 0
|
||||
SectionNumber: 0
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
|
||||
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||||
- Name: main
|
||||
Value: 0
|
||||
SectionNumber: 4
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
|
||||
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||||
- Name: '$LN3'
|
||||
Value: 0
|
||||
SectionNumber: 4
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_LABEL
|
||||
- Name: .xdata
|
||||
Value: 0
|
||||
SectionNumber: 5
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 8
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 264583633
|
||||
Number: 0
|
||||
- Name: '$unwind$main'
|
||||
Value: 0
|
||||
SectionNumber: 5
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
- Name: .pdata
|
||||
Value: 0
|
||||
SectionNumber: 6
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 12
|
||||
NumberOfRelocations: 3
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 361370162
|
||||
Number: 0
|
||||
- Name: '$pdata$main'
|
||||
Value: 0
|
||||
SectionNumber: 6
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
...
|
102
lld/test/COFF/Inputs/pdb2.yaml
Normal file
102
lld/test/COFF/Inputs/pdb2.yaml
Normal file
@ -0,0 +1,102 @@
|
||||
--- !COFF
|
||||
header:
|
||||
Machine: IMAGE_FILE_MACHINE_AMD64
|
||||
Characteristics: [ ]
|
||||
sections:
|
||||
- Name: .drectve
|
||||
Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
|
||||
Alignment: 1
|
||||
SectionData: 2020202F44454641554C544C49423A224C4942434D5422202F44454641554C544C49423A224F4C444E414D45532220
|
||||
- Name: '.debug$S'
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 1
|
||||
SectionData: 04000000F1000000570000001900011100000000443A5C625C72657434322D7375622E6F626A003A003C1100600000D00013000000F259000013000000F25900004D6963726F736F667420285229204F7074696D697A696E6720436F6D70696C65720000F10000004D000000290047110000000000000000000000000600000000000000050000000210000000000000000000666F6F001C001210000000000000000000000000000000000000000000000042110002004F11000000F2000000200000000000000000000000060000000000000001000000140000000000000001000080F400000018000000010000001001EC2D89EFF5A1FEB6B74EE4D79074072F0000F30000001200000000643A5C625C72657434322D7375622E63000000F10000000800000006004C110A100000
|
||||
Relocations:
|
||||
- VirtualAddress: 140
|
||||
SymbolName: foo
|
||||
Type: IMAGE_REL_AMD64_SECREL
|
||||
- VirtualAddress: 144
|
||||
SymbolName: foo
|
||||
Type: IMAGE_REL_AMD64_SECTION
|
||||
- VirtualAddress: 196
|
||||
SymbolName: foo
|
||||
Type: IMAGE_REL_AMD64_SECREL
|
||||
- VirtualAddress: 200
|
||||
SymbolName: foo
|
||||
Type: IMAGE_REL_AMD64_SECTION
|
||||
- Name: '.debug$T'
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 1
|
||||
SectionData: 0400000006000112000000000E0008107400000000000000001000000E0001160000000001100000666F6F000E00051600000000443A5C6200F3F2F12200051600000000433A5C767331345C56435C42494E5C616D6436345C636C2E6578650002010516000000002D5A37202D63202D4D54202D49433A5C767331345C56435C494E434C554445202D49433A5C767331345C56435C41544C4D46435C494E434C554445202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C31305C696E636C7564655C31302E302E31303135302E305C7563727422202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C4E4554465853444B5C342E365C696E636C7564655C756D22202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C73686172656422000A00041601000000051000008200051606100000202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C756D22202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C77696E727422202D5443202D5800F3F2F1120005160000000072657434322D7375622E63001600051600000000443A5C625C76633134302E70646200F11A00031605000310000004100000081000000910000007100000F2F1
|
||||
- Name: '.text$mn'
|
||||
Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 16
|
||||
SectionData: B82A000000C3
|
||||
symbols:
|
||||
- Name: '@comp.id'
|
||||
Value: 17062386
|
||||
SectionNumber: -1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
- Name: '@feat.00'
|
||||
Value: 2147484048
|
||||
SectionNumber: -1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
- Name: .drectve
|
||||
Value: 0
|
||||
SectionNumber: 1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 47
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.debug$S'
|
||||
Value: 0
|
||||
SectionNumber: 2
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 304
|
||||
NumberOfRelocations: 4
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.debug$T'
|
||||
Value: 0
|
||||
SectionNumber: 3
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 572
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.text$mn'
|
||||
Value: 0
|
||||
SectionNumber: 4
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 6
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 2139436471
|
||||
Number: 0
|
||||
- Name: foo
|
||||
Value: 0
|
||||
SectionNumber: 4
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
|
||||
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||||
...
|
@ -1,181 +0,0 @@
|
||||
# RUN: yaml2obj %s > %t.obj
|
||||
# RUN: lld-link /debug /pdb:%t.pdb /dumppdb /dll /out:%t.dll /entry:main \
|
||||
# RUN: /nodefaultlib %t.obj | FileCheck %s
|
||||
|
||||
# CHECK: ArgList (0x1000) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_ARGLIST (0x1201)
|
||||
# CHECK-NEXT: NumArgs: 1
|
||||
# CHECK-NEXT: Arguments [
|
||||
# CHECK-NEXT: ArgType: 0x0
|
||||
# CHECK-NEXT: ]
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: Procedure (0x1001) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_PROCEDURE (0x1008)
|
||||
# CHECK-NEXT: ReturnType: int (0x74)
|
||||
# CHECK-NEXT: CallingConvention: NearC (0x0)
|
||||
# CHECK-NEXT: FunctionOptions [ (0x0)
|
||||
# CHECK-NEXT: ]
|
||||
# CHECK-NEXT: NumParameters: 0
|
||||
# CHECK-NEXT: ArgListType: (<no type>) (0x1000)
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: FuncId (0x1002) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_FUNC_ID (0x1601)
|
||||
# CHECK-NEXT: ParentScope: 0x0
|
||||
# CHECK-NEXT: FunctionType: int (<no type>) (0x1001)
|
||||
# CHECK-NEXT: Name: main
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: StringId (0x1003) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# CHECK-NEXT: Id: 0x0
|
||||
# CHECK-NEXT: StringData: D:\b
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: StringId (0x1004) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# CHECK-NEXT: Id: 0x0
|
||||
# CHECK-NEXT: StringData: C:\vs14\VC\BIN\amd64\cl.exe
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: StringId (0x1005) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# CHECK-NEXT: Id: 0x0
|
||||
# CHECK-NEXT: StringData: -Z7 -c -MT -IC:\vs14\VC\INCLUDE -IC:\vs14\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared"
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: StringList (0x1006) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_SUBSTR_LIST (0x1604)
|
||||
# CHECK-NEXT: NumArgs: 1
|
||||
# CHECK-NEXT: Arguments [
|
||||
# CHECK-NEXT: ArgType: -Z7 -c -MT -IC:\vs14\VC\INCLUDE -IC:\vs14\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared" (0x1005)
|
||||
# CHECK-NEXT: ]
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: StringId (0x1007) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# CHECK-NEXT: Id: (-Z7 -c -MT -IC:\vs14\VC\INCLUDE -IC:\vs14\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared") (0x1006)
|
||||
# CHECK-NEXT: StringData: -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: StringId (0x1008) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# CHECK-NEXT: Id: 0x0
|
||||
# CHECK-NEXT: StringData: ret42.c
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: StringId (0x1009) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# CHECK-NEXT: Id: 0x0
|
||||
# CHECK-NEXT: StringData: D:\b\vc140.pdb
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: BuildInfo (0x100A) {
|
||||
# CHECK-NEXT: TypeLeafKind: LF_BUILDINFO (0x1603)
|
||||
# CHECK-NEXT: NumArgs: 5
|
||||
# CHECK-NEXT: Arguments [
|
||||
# CHECK-NEXT: ArgType: D:\b (0x1003)
|
||||
# CHECK-NEXT: ArgType: C:\vs14\VC\BIN\amd64\cl.exe (0x1004)
|
||||
# CHECK-NEXT: ArgType: ret42.c (0x1008)
|
||||
# CHECK-NEXT: ArgType: D:\b\vc140.pdb (0x1009)
|
||||
# CHECK-NEXT: ArgType: -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X (0x1007)
|
||||
# CHECK-NEXT: ]
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: UnknownSym {
|
||||
# CHECK-NEXT: Kind: 0x0
|
||||
# CHECK-NEXT: Length: 6
|
||||
# CHECK-NEXT: }
|
||||
|
||||
--- !COFF
|
||||
header:
|
||||
Machine: IMAGE_FILE_MACHINE_AMD64
|
||||
Characteristics: [ ]
|
||||
sections:
|
||||
- Name: .drectve
|
||||
Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
|
||||
Alignment: 1
|
||||
SectionData: 2020202F44454641554C544C49423A224C4942434D5422202F44454641554C544C49423A224F4C444E414D45532220
|
||||
- Name: '.debug$S'
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 1
|
||||
SectionData: 04000000F1000000530000001500011100000000443A5C625C72657434322E6F626A003A003C1100600000D00013000000F259000013000000F25900004D6963726F736F667420285229204F7074696D697A696E6720436F6D70696C65720000F10000004E0000002A00471100000000000000000000000006000000000000000500000002100000000000000000006D61696E001C001210000000000000000000000000000000000000000000000042110002004F110000F2000000200000000000000000000000060000000000000001000000140000000000000001000080F4000000180000000100000010010BFC79AA614B536E3D64B110330D1E580000F30000000E00000000643A5C625C72657434322E63000000F10000000800000006004C110A100000
|
||||
Relocations:
|
||||
- VirtualAddress: 136
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECREL
|
||||
- VirtualAddress: 140
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECTION
|
||||
- VirtualAddress: 192
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECREL
|
||||
- VirtualAddress: 196
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECTION
|
||||
- Name: '.debug$T'
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 1
|
||||
SectionData: 040000000A00011201000000000000000E0008107400000000000000001000001200011600000000011000006D61696E00F3F2F10E00051600000000443A5C6200F3F2F12200051600000000433A5C767331345C56435C42494E5C616D6436345C636C2E6578650002010516000000002D5A37202D63202D4D54202D49433A5C767331345C56435C494E434C554445202D49433A5C767331345C56435C41544C4D46435C494E434C554445202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C31305C696E636C7564655C31302E302E31303135302E305C7563727422202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C4E4554465853444B5C342E365C696E636C7564655C756D22202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C73686172656422000A00041601000000051000008200051606100000202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C756D22202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C77696E727422202D5443202D5800F3F2F10E0005160000000072657434322E63001600051600000000443A5C625C76633134302E70646200F11A00031605000310000004100000081000000910000007100000F2F1
|
||||
- Name: '.text$mn'
|
||||
Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 16
|
||||
SectionData: B82A000000C3
|
||||
symbols:
|
||||
- Name: '@comp.id'
|
||||
Value: 17062386
|
||||
SectionNumber: -1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
- Name: '@feat.00'
|
||||
Value: 2147484048
|
||||
SectionNumber: -1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
- Name: .drectve
|
||||
Value: 0
|
||||
SectionNumber: 1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 47
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.debug$S'
|
||||
Value: 0
|
||||
SectionNumber: 2
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 296
|
||||
NumberOfRelocations: 4
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.debug$T'
|
||||
Value: 0
|
||||
SectionNumber: 3
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 576
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.text$mn'
|
||||
Value: 0
|
||||
SectionNumber: 4
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 6
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 2139436471
|
||||
Number: 0
|
||||
- Name: main
|
||||
Value: 0
|
||||
SectionNumber: 4
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
|
||||
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||||
...
|
@ -1,16 +1,15 @@
|
||||
# RUN: yaml2obj %s > %t.obj
|
||||
# RUN: yaml2obj < %p/Inputs/pdb1.yaml > %t1.obj
|
||||
# RUN: yaml2obj < %p/Inputs/pdb2.yaml > %t2.obj
|
||||
# RUN: lld-link /debug /pdb:%t.pdb /dll /out:%t.dll /entry:main /nodefaultlib \
|
||||
# RUN: /debugpdb %t.obj
|
||||
# RUN: /debugpdb %t1.obj %t2.obj
|
||||
|
||||
# RUN: llvm-pdbdump pdb2yaml -stream-metadata -stream-directory -pdb-stream \
|
||||
# RUN: -dbi-stream -ipi-stream -tpi-stream %t.pdb | FileCheck %s
|
||||
|
||||
# RUN: llvm-pdbdump raw -modules -section-map -section-headers -section-contribs \
|
||||
# RUN: -tpi-records %t.pdb | FileCheck -check-prefix RAW %s
|
||||
|
||||
# CHECK: MSF:
|
||||
# CHECK-NEXT: SuperBlock:
|
||||
# CHECK-NEXT: BlockSize: 4096
|
||||
# CHECK-NEXT: FreeBlockMap:
|
||||
# CHECK-NEXT: FreeBlockMap: 1
|
||||
# CHECK-NEXT: NumBlocks: 10
|
||||
# CHECK-NEXT: NumDirectoryBytes: 48
|
||||
# CHECK-NEXT: Unknown1: 0
|
||||
@ -19,7 +18,7 @@
|
||||
# CHECK-NEXT: DirectoryBlocks: [ 9 ]
|
||||
# CHECK-NEXT: NumStreams: 6
|
||||
# CHECK-NEXT: FileSize: 40960
|
||||
# CHECK-NEXT: StreamSizes: [ 0, 48, 628, 266, 56, 80 ]
|
||||
# CHECK-NEXT: StreamSizes: [ 0, 48, 736, 390, 56, 160 ]
|
||||
# CHECK-NEXT: StreamMap:
|
||||
# CHECK-NEXT: - Stream: [ ]
|
||||
# CHECK-NEXT: - Stream: [ 5 ]
|
||||
@ -28,13 +27,8 @@
|
||||
# CHECK-NEXT: - Stream: [ 8 ]
|
||||
# CHECK-NEXT: - Stream: [ 4 ]
|
||||
# CHECK-NEXT: PdbStream:
|
||||
# Ensure that the Guid matches the RSDS record:
|
||||
# PDBSignature: 0x53445352
|
||||
# PDBGUID (38 9A CC F2 14 A4 7F A2 6C F0 08 04 47 CF 5C 48)
|
||||
# PDBAge: 1
|
||||
# CHECK-NEXT: Age: 1
|
||||
# Guid: '{389ACCF2-14A4-7FA2-6CF0-080447CF5C48}'
|
||||
# CHECK-NEXT: Guid: '{{.*}}'
|
||||
# CHECK-NEXT: Guid:
|
||||
# CHECK-NEXT: Signature: 0
|
||||
# CHECK-NEXT: Version: VC70
|
||||
# CHECK-NEXT: NamedStreams:
|
||||
@ -51,7 +45,7 @@
|
||||
# CHECK-NEXT: Records:
|
||||
# CHECK-NEXT: - Kind: LF_ARGLIST
|
||||
# CHECK-NEXT: ArgList:
|
||||
# CHECK-NEXT: ArgIndices: [ 0 ]
|
||||
# CHECK-NEXT: ArgIndices: [ ]
|
||||
# CHECK-NEXT: - Kind: LF_PROCEDURE
|
||||
# CHECK-NEXT: Procedure:
|
||||
# CHECK-NEXT: ReturnType: 116
|
||||
@ -59,11 +53,30 @@
|
||||
# CHECK-NEXT: Options: [ None ]
|
||||
# CHECK-NEXT: ParameterCount: 0
|
||||
# CHECK-NEXT: ArgumentList: 4096
|
||||
# CHECK-NEXT: - Kind: LF_POINTER
|
||||
# CHECK-NEXT: Pointer:
|
||||
# CHECK-NEXT: ReferentType: 4097
|
||||
# CHECK-NEXT: Attrs: 65548
|
||||
# CHECK-NEXT: - Kind: LF_ARGLIST
|
||||
# CHECK-NEXT: ArgList:
|
||||
# CHECK-NEXT: ArgIndices: [ 0 ]
|
||||
# CHECK-NEXT: - Kind: LF_PROCEDURE
|
||||
# CHECK-NEXT: Procedure:
|
||||
# CHECK-NEXT: ReturnType: 116
|
||||
# CHECK-NEXT: CallConv: NearC
|
||||
# CHECK-NEXT: Options: [ None ]
|
||||
# CHECK-NEXT: ParameterCount: 0
|
||||
# CHECK-NEXT: ArgumentList: 4099
|
||||
# CHECK-NEXT: - Kind: LF_FUNC_ID
|
||||
# CHECK-NEXT: FuncId:
|
||||
# CHECK-NEXT: ParentScope: 0
|
||||
# CHECK-NEXT: FunctionType: 4100
|
||||
# CHECK-NEXT: Name: main
|
||||
# CHECK-NEXT: - Kind: LF_FUNC_ID
|
||||
# CHECK-NEXT: FuncId:
|
||||
# CHECK-NEXT: ParentScope: 0
|
||||
# CHECK-NEXT: FunctionType: 4097
|
||||
# CHECK-NEXT: Name: main
|
||||
# CHECK-NEXT: Name: foo
|
||||
# CHECK-NEXT: - Kind: LF_STRING_ID
|
||||
# CHECK-NEXT: StringId:
|
||||
# CHECK-NEXT: Id: 0
|
||||
@ -78,37 +91,79 @@
|
||||
# CHECK-NEXT: String: '-Z7 -c -MT -IC:\vs14\VC\INCLUDE -IC:\vs14\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared"'
|
||||
# CHECK-NEXT: - Kind: LF_SUBSTR_LIST
|
||||
# CHECK-NEXT: ArgList:
|
||||
# CHECK-NEXT: ArgIndices: [ 4101 ]
|
||||
# CHECK-NEXT: ArgIndices: [ 4105 ]
|
||||
# CHECK-NEXT: - Kind: LF_STRING_ID
|
||||
# CHECK-NEXT: StringId:
|
||||
# CHECK-NEXT: Id: 4102
|
||||
# CHECK-NEXT: Id: 4106
|
||||
# CHECK-NEXT: String: ' -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X'
|
||||
# CHECK-NEXT: - Kind: LF_STRING_ID
|
||||
# CHECK-NEXT: StringId:
|
||||
# CHECK-NEXT: Id: 0
|
||||
# CHECK-NEXT: String: ret42.c
|
||||
# CHECK-NEXT: String: ret42-main.c
|
||||
# CHECK-NEXT: - Kind: LF_STRING_ID
|
||||
# CHECK-NEXT: StringId:
|
||||
# CHECK-NEXT: Id: 0
|
||||
# CHECK-NEXT: String: 'D:\b\vc140.pdb'
|
||||
# CHECK-NEXT: - Kind: LF_BUILDINFO
|
||||
# CHECK-NEXT: BuildInfo:
|
||||
# CHECK-NEXT: ArgIndices: [ 4099, 4100, 4104, 4105, 4103 ]
|
||||
# CHECK-NEXT: ArgIndices: [ 4103, 4104, 4108, 4109, 4107 ]
|
||||
# CHECK-NEXT: - Kind: LF_STRING_ID
|
||||
# CHECK-NEXT: StringId:
|
||||
# CHECK-NEXT: Id: 0
|
||||
# CHECK-NEXT: String: ret42-sub.c
|
||||
# CHECK-NEXT: - Kind: LF_BUILDINFO
|
||||
# CHECK-NEXT: BuildInfo:
|
||||
# CHECK-NEXT: ArgIndices: [ 4103, 4104, 4111, 4109, 4107 ]
|
||||
# CHECK-NEXT: IpiStream:
|
||||
# CHECK-NEXT: Version: VC80
|
||||
# CHECK-NEXT: Records:
|
||||
# CHECK-NEXT: ...
|
||||
|
||||
# RAW: Type Info Stream (TPI) {
|
||||
# RAW: FileHeaders {
|
||||
# RAW-NEXT: BlockSize: 4096
|
||||
# RAW-NEXT: FreeBlockMap: 1
|
||||
# RAW-NEXT: NumBlocks: 10
|
||||
# RAW-NEXT: NumDirectoryBytes: 48
|
||||
# RAW-NEXT: Unknown1: 0
|
||||
# RAW-NEXT: BlockMapAddr: 3
|
||||
# RAW-NEXT: NumDirectoryBlocks: 1
|
||||
# RAW-NEXT: DirectoryBlocks: [9]
|
||||
# RAW-NEXT: NumStreams: 6
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Streams [
|
||||
# RAW-NEXT: Stream 0: [Old MSF Directory] (0 bytes)
|
||||
# RAW-NEXT: Stream 1: [PDB Stream] (48 bytes)
|
||||
# RAW-NEXT: Stream 2: [TPI Stream] (736 bytes)
|
||||
# RAW-NEXT: Stream 3: [DBI Stream] (390 bytes)
|
||||
# RAW-NEXT: Stream 4: [IPI Stream] (56 bytes)
|
||||
# RAW-NEXT: Stream 5: [Section Header Data] (160 bytes)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: Msf Free Pages: []
|
||||
# RAW-NEXT: Orphaned Pages: []
|
||||
# RAW-NEXT: Multiply Used Pages: []
|
||||
# RAW-NEXT: Use After Free Pages: []
|
||||
# RAW-NEXT: StreamBlocks [
|
||||
# RAW-NEXT: Stream 0: []
|
||||
# RAW-NEXT: Stream 1: [5]
|
||||
# RAW-NEXT: Stream 2: [7]
|
||||
# RAW-NEXT: Stream 3: [6]
|
||||
# RAW-NEXT: Stream 4: [8]
|
||||
# RAW-NEXT: Stream 5: [4]
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: PDB Stream {
|
||||
# RAW-NEXT: Version: 20000404
|
||||
# RAW-NEXT: Signature: 0x0
|
||||
# RAW-NEXT: Age: 1
|
||||
# RAW-NEXT: Guid: {7EBCCC79-C488-0267-C898-06D7E94A8A10}
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Type Info Stream (TPI) {
|
||||
# RAW-NEXT: TPI Version: 20040203
|
||||
# RAW-NEXT: Record count: 11
|
||||
# RAW-NEXT: Record count: 17
|
||||
# RAW-NEXT: Records [
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: ArgList (0x1000) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_ARGLIST (0x1201)
|
||||
# RAW-NEXT: NumArgs: 1
|
||||
# RAW-NEXT: NumArgs: 0
|
||||
# RAW-NEXT: Arguments [
|
||||
# RAW-NEXT: ArgType: 0x0
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
@ -120,81 +175,163 @@
|
||||
# RAW-NEXT: FunctionOptions [ (0x0)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: NumParameters: 0
|
||||
# RAW-NEXT: ArgListType: (<no type>) (0x1000)
|
||||
# RAW-NEXT: ArgListType: () (0x1000)
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: FuncId (0x1002) {
|
||||
# RAW-NEXT: Pointer (0x1002) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_POINTER (0x1002)
|
||||
# RAW-NEXT: PointeeType: int () (0x1001)
|
||||
# RAW-NEXT: PointerAttributes: 0x1000C
|
||||
# RAW-NEXT: PtrType: Near64 (0xC)
|
||||
# RAW-NEXT: PtrMode: Pointer (0x0)
|
||||
# RAW-NEXT: IsFlat: 0
|
||||
# RAW-NEXT: IsConst: 0
|
||||
# RAW-NEXT: IsVolatile: 0
|
||||
# RAW-NEXT: IsUnaligned: 0
|
||||
# RAW-NEXT: SizeOf: 8
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: ArgList (0x1003) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_ARGLIST (0x1201)
|
||||
# RAW-NEXT: NumArgs: 1
|
||||
# RAW-NEXT: Arguments [
|
||||
# RAW-NEXT: ArgType: 0x0
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: Procedure (0x1004) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_PROCEDURE (0x1008)
|
||||
# RAW-NEXT: ReturnType: int (0x74)
|
||||
# RAW-NEXT: CallingConvention: NearC (0x0)
|
||||
# RAW-NEXT: FunctionOptions [ (0x0)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: NumParameters: 0
|
||||
# RAW-NEXT: ArgListType: (<no type>) (0x1003)
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: FuncId (0x1005) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_FUNC_ID (0x1601)
|
||||
# RAW-NEXT: ParentScope: 0x0
|
||||
# RAW-NEXT: FunctionType: int (<no type>) (0x1001)
|
||||
# RAW-NEXT: FunctionType: int (<no type>) (0x1004)
|
||||
# RAW-NEXT: Name: main
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: StringId (0x1003) {
|
||||
# RAW-NEXT: FuncId (0x1006) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_FUNC_ID (0x1601)
|
||||
# RAW-NEXT: ParentScope: 0x0
|
||||
# RAW-NEXT: FunctionType: int () (0x1001)
|
||||
# RAW-NEXT: Name: foo
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: StringId (0x1007) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# RAW-NEXT: Id: 0x0
|
||||
# RAW-NEXT: StringData: D:\b
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: StringId (0x1004) {
|
||||
# RAW-NEXT: StringId (0x1008) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# RAW-NEXT: Id: 0x0
|
||||
# RAW-NEXT: StringData: C:\vs14\VC\BIN\amd64\cl.exe
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: StringId (0x1005) {
|
||||
# RAW-NEXT: StringId (0x1009) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# RAW-NEXT: Id: 0x0
|
||||
# RAW-NEXT: StringData: -Z7 -c -MT -IC:\vs14\VC\INCLUDE -IC:\vs14\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared"
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: StringList (0x1006) {
|
||||
# RAW-NEXT: StringList (0x100A) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_SUBSTR_LIST (0x1604)
|
||||
# RAW-NEXT: NumArgs: 1
|
||||
# RAW-NEXT: Arguments [
|
||||
# RAW-NEXT: ArgType: -Z7 -c -MT -IC:\vs14\VC\INCLUDE -IC:\vs14\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared" (0x1005)
|
||||
# RAW-NEXT: ArgType: -Z7 -c -MT -IC:\vs14\VC\INCLUDE -IC:\vs14\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared" (0x1009)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: StringId (0x1007) {
|
||||
# RAW-NEXT: StringId (0x100B) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# RAW-NEXT: Id: (-Z7 -c -MT -IC:\vs14\VC\INCLUDE -IC:\vs14\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared") (0x1006)
|
||||
# RAW-NEXT: Id: (-Z7 -c -MT -IC:\vs14\VC\INCLUDE -IC:\vs14\VC\ATLMFC\INCLUDE -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10150.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared") (0x100A)
|
||||
# RAW-NEXT: StringData: -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: StringId (0x1008) {
|
||||
# RAW-NEXT: StringId (0x100C) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# RAW-NEXT: Id: 0x0
|
||||
# RAW-NEXT: StringData: ret42.c
|
||||
# RAW-NEXT: StringData: ret42-main.c
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: StringId (0x1009) {
|
||||
# RAW-NEXT: StringId (0x100D) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# RAW-NEXT: Id: 0x0
|
||||
# RAW-NEXT: StringData: D:\b\vc140.pdb
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: BuildInfo (0x100A) {
|
||||
# RAW-NEXT: BuildInfo (0x100E) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_BUILDINFO (0x1603)
|
||||
# RAW-NEXT: NumArgs: 5
|
||||
# RAW-NEXT: Arguments [
|
||||
# RAW-NEXT: ArgType: D:\b (0x1003)
|
||||
# RAW-NEXT: ArgType: C:\vs14\VC\BIN\amd64\cl.exe (0x1004)
|
||||
# RAW-NEXT: ArgType: ret42.c (0x1008)
|
||||
# RAW-NEXT: ArgType: D:\b\vc140.pdb (0x1009)
|
||||
# RAW-NEXT: ArgType: -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X (0x1007)
|
||||
# RAW-NEXT: ArgType: D:\b (0x1007)
|
||||
# RAW-NEXT: ArgType: C:\vs14\VC\BIN\amd64\cl.exe (0x1008)
|
||||
# RAW-NEXT: ArgType: ret42-main.c (0x100C)
|
||||
# RAW-NEXT: ArgType: D:\b\vc140.pdb (0x100D)
|
||||
# RAW-NEXT: ArgType: -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X (0x100B)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: StringId (0x100F) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_STRING_ID (0x1605)
|
||||
# RAW-NEXT: Id: 0x0
|
||||
# RAW-NEXT: StringData: ret42-sub.c
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: BuildInfo (0x1010) {
|
||||
# RAW-NEXT: TypeLeafKind: LF_BUILDINFO (0x1603)
|
||||
# RAW-NEXT: NumArgs: 5
|
||||
# RAW-NEXT: Arguments [
|
||||
# RAW-NEXT: ArgType: D:\b (0x1007)
|
||||
# RAW-NEXT: ArgType: C:\vs14\VC\BIN\amd64\cl.exe (0x1008)
|
||||
# RAW-NEXT: ArgType: ret42-sub.c (0x100F)
|
||||
# RAW-NEXT: ArgType: D:\b\vc140.pdb (0x100D)
|
||||
# RAW-NEXT: ArgType: -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X (0x100B)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Hash {
|
||||
# RAW-NEXT: Number of Hash Buckets: 4096
|
||||
# RAW-NEXT: Hash Key Size: 4
|
||||
# RAW-NEXT: Values: []
|
||||
# RAW-NEXT: Type Index Offsets: []
|
||||
# RAW-NEXT: Hash Adjustments: []
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Type Info Stream (IPI) {
|
||||
# RAW-NEXT: IPI Version: 20040203
|
||||
# RAW-NEXT: Record count: 0
|
||||
# RAW-NEXT: Records [
|
||||
# RAW-NEXT: Hash {
|
||||
# RAW-NEXT: Number of Hash Buckets: 4096
|
||||
# RAW-NEXT: Hash Key Size: 4
|
||||
# RAW-NEXT: Values: []
|
||||
# RAW-NEXT: Type Index Offsets: []
|
||||
# RAW-NEXT: Hash Adjustments: []
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: DBI Stream {
|
||||
@ -222,13 +359,64 @@
|
||||
# RAW-NEXT: Symbol Byte Size: 0
|
||||
# RAW-NEXT: Type Server Index: 0
|
||||
# RAW-NEXT: Has EC Info: No
|
||||
# RAW-NEXT: 0 Contributing Source Files [
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Section Contributions [
|
||||
# RAW-NEXT: Contribution {
|
||||
# RAW-NEXT: ISect: 0
|
||||
# RAW-NEXT: Off: 1140
|
||||
# RAW-NEXT: Off: 1288
|
||||
# RAW-NEXT: Size: 14
|
||||
# RAW-NEXT: Characteristics [ (0x60500020)
|
||||
# RAW-NEXT: IMAGE_SCN_ALIGN_16BYTES (0x500000)
|
||||
# RAW-NEXT: IMAGE_SCN_CNT_CODE (0x20)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_EXECUTE (0x20000000)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: Module {
|
||||
# RAW-NEXT: Index: 0
|
||||
# RAW-NEXT: Name: * Linker *
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Data CRC: 0
|
||||
# RAW-NEXT: Reloc CRC: 0
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Contribution {
|
||||
# RAW-NEXT: ISect: 0
|
||||
# RAW-NEXT: Off: 1312
|
||||
# RAW-NEXT: Size: 8
|
||||
# RAW-NEXT: Characteristics [ (0x40300040)
|
||||
# RAW-NEXT: IMAGE_SCN_ALIGN_4BYTES (0x300000)
|
||||
# RAW-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: Module {
|
||||
# RAW-NEXT: Index: 0
|
||||
# RAW-NEXT: Name: * Linker *
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Data CRC: 0
|
||||
# RAW-NEXT: Reloc CRC: 0
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Contribution {
|
||||
# RAW-NEXT: ISect: 0
|
||||
# RAW-NEXT: Off: 1320
|
||||
# RAW-NEXT: Size: 12
|
||||
# RAW-NEXT: Characteristics [ (0x40300040)
|
||||
# RAW-NEXT: IMAGE_SCN_ALIGN_4BYTES (0x300000)
|
||||
# RAW-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: Module {
|
||||
# RAW-NEXT: Index: 0
|
||||
# RAW-NEXT: Name: * Linker *
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Data CRC: 0
|
||||
# RAW-NEXT: Reloc CRC: 0
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Contribution {
|
||||
# RAW-NEXT: ISect: 0
|
||||
# RAW-NEXT: Off: 1144
|
||||
# RAW-NEXT: Size: 6
|
||||
# RAW-NEXT: Characteristics [ (0x60500020)
|
||||
# RAW-NEXT: IMAGE_SCN_ALIGN_16BYTES (0x500000)
|
||||
@ -246,9 +434,8 @@
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: Section Map [
|
||||
# RAW-NEXT: Entry {
|
||||
# RAW-NEXT: Flags [ (0x10D)
|
||||
# RAW-NEXT: Flags [ (0x109)
|
||||
# RAW-NEXT: AddressIs32Bit (0x8)
|
||||
# RAW-NEXT: Execute (0x4)
|
||||
# RAW-NEXT: IsSelector (0x100)
|
||||
# RAW-NEXT: Read (0x1)
|
||||
# RAW-NEXT: ]
|
||||
@ -258,11 +445,12 @@
|
||||
# RAW-NEXT: SecName: 65535
|
||||
# RAW-NEXT: ClassName: 65535
|
||||
# RAW-NEXT: Offset: 0
|
||||
# RAW-NEXT: SecByteLength: 6
|
||||
# RAW-NEXT: SecByteLength: 12
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Entry {
|
||||
# RAW-NEXT: Flags [ (0x109)
|
||||
# RAW-NEXT: Flags [ (0x10D)
|
||||
# RAW-NEXT: AddressIs32Bit (0x8)
|
||||
# RAW-NEXT: Execute (0x4)
|
||||
# RAW-NEXT: IsSelector (0x100)
|
||||
# RAW-NEXT: Read (0x1)
|
||||
# RAW-NEXT: ]
|
||||
@ -272,7 +460,35 @@
|
||||
# RAW-NEXT: SecName: 65535
|
||||
# RAW-NEXT: ClassName: 65535
|
||||
# RAW-NEXT: Offset: 0
|
||||
# RAW-NEXT: SecByteLength:
|
||||
# RAW-NEXT: SecByteLength: 22
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Entry {
|
||||
# RAW-NEXT: Flags [ (0x109)
|
||||
# RAW-NEXT: AddressIs32Bit (0x8)
|
||||
# RAW-NEXT: IsSelector (0x100)
|
||||
# RAW-NEXT: Read (0x1)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: Ovl: 0
|
||||
# RAW-NEXT: Group: 0
|
||||
# RAW-NEXT: Frame: 3
|
||||
# RAW-NEXT: SecName: 65535
|
||||
# RAW-NEXT: ClassName: 65535
|
||||
# RAW-NEXT: Offset: 0
|
||||
# RAW-NEXT: SecByteLength: 8
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Entry {
|
||||
# RAW-NEXT: Flags [ (0x109)
|
||||
# RAW-NEXT: AddressIs32Bit (0x8)
|
||||
# RAW-NEXT: IsSelector (0x100)
|
||||
# RAW-NEXT: Read (0x1)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: Ovl: 0
|
||||
# RAW-NEXT: Group: 0
|
||||
# RAW-NEXT: Frame: 4
|
||||
# RAW-NEXT: SecName: 65535
|
||||
# RAW-NEXT: ClassName: 65535
|
||||
# RAW-NEXT: Offset: 0
|
||||
# RAW-NEXT: SecByteLength: 101
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: Entry {
|
||||
# RAW-NEXT: Flags [ (0x208)
|
||||
@ -281,35 +497,21 @@
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: Ovl: 0
|
||||
# RAW-NEXT: Group: 0
|
||||
# RAW-NEXT: Frame: 3
|
||||
# RAW-NEXT: Frame: 5
|
||||
# RAW-NEXT: SecName: 65535
|
||||
# RAW-NEXT: ClassName: 65535
|
||||
# RAW-NEXT: Offset: 0
|
||||
# RAW-NEXT: SecByteLength: 4294967295
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: Globals Stream not present
|
||||
# RAW-NEXT: Publics Stream not present
|
||||
# RAW-NEXT: Section Headers [
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: Name: .text
|
||||
# RAW-NEXT: Virtual Size: 6
|
||||
# RAW-NEXT: Name: .pdata
|
||||
# RAW-NEXT: Virtual Size: 12
|
||||
# RAW-NEXT: Virtual Address: 4096
|
||||
# RAW-NEXT: Size of Raw Data: 512
|
||||
# RAW-NEXT: File Pointer to Raw Data: 512
|
||||
# RAW-NEXT: File Pointer to Relocations: 0
|
||||
# RAW-NEXT: File Pointer to Linenumbers: 0
|
||||
# RAW-NEXT: Number of Relocations: 0
|
||||
# RAW-NEXT: Number of Linenumbers: 0
|
||||
# RAW-NEXT: Characteristics [ (0x60000020)
|
||||
# RAW-NEXT: IMAGE_SCN_CNT_CODE (0x20)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_EXECUTE (0x20000000)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: Name: .rdata
|
||||
# RAW-NEXT: Virtual Size:
|
||||
# RAW-NEXT: Virtual Address: 8192
|
||||
# RAW-NEXT: Size of Raw Data: 512
|
||||
# RAW-NEXT: File Pointer to Raw Data: 1024
|
||||
# RAW-NEXT: File Pointer to Relocations: 0
|
||||
# RAW-NEXT: File Pointer to Linenumbers: 0
|
||||
@ -320,107 +522,52 @@
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: Name: .text
|
||||
# RAW-NEXT: Virtual Size: 22
|
||||
# RAW-NEXT: Virtual Address: 8192
|
||||
# RAW-NEXT: Size of Raw Data: 512
|
||||
# RAW-NEXT: File Pointer to Raw Data: 1536
|
||||
# RAW-NEXT: File Pointer to Relocations: 0
|
||||
# RAW-NEXT: File Pointer to Linenumbers: 0
|
||||
# RAW-NEXT: Number of Relocations: 0
|
||||
# RAW-NEXT: Number of Linenumbers: 0
|
||||
# RAW-NEXT: Characteristics [ (0x60000020)
|
||||
# RAW-NEXT: IMAGE_SCN_CNT_CODE (0x20)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_EXECUTE (0x20000000)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: Name: .xdata
|
||||
# RAW-NEXT: Virtual Size: 8
|
||||
# RAW-NEXT: Virtual Address: 12288
|
||||
# RAW-NEXT: Size of Raw Data: 512
|
||||
# RAW-NEXT: File Pointer to Raw Data: 2048
|
||||
# RAW-NEXT: File Pointer to Relocations: 0
|
||||
# RAW-NEXT: File Pointer to Linenumbers: 0
|
||||
# RAW-NEXT: Number of Relocations: 0
|
||||
# RAW-NEXT: Number of Linenumbers: 0
|
||||
# RAW-NEXT: Characteristics [ (0x40000040)
|
||||
# RAW-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: Name: .rdata
|
||||
# RAW-NEXT: Virtual Size: 101
|
||||
# RAW-NEXT: Virtual Address: 16384
|
||||
# RAW-NEXT: Size of Raw Data: 512
|
||||
# RAW-NEXT: File Pointer to Raw Data: 2560
|
||||
# RAW-NEXT: File Pointer to Relocations: 0
|
||||
# RAW-NEXT: File Pointer to Linenumbers: 0
|
||||
# RAW-NEXT: Number of Relocations: 0
|
||||
# RAW-NEXT: Number of Linenumbers: 0
|
||||
# RAW-NEXT: Characteristics [ (0x40000040)
|
||||
# RAW-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: New FPO [
|
||||
# RAW-NEXT: ]
|
||||
|
||||
--- !COFF
|
||||
header:
|
||||
Machine: IMAGE_FILE_MACHINE_AMD64
|
||||
Characteristics: [ ]
|
||||
sections:
|
||||
- Name: .drectve
|
||||
Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
|
||||
Alignment: 1
|
||||
SectionData: 2020202F44454641554C544C49423A224C4942434D5422202F44454641554C544C49423A224F4C444E414D45532220
|
||||
- Name: '.debug$S'
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 1
|
||||
SectionData: 04000000F1000000530000001500011100000000443A5C625C72657434322E6F626A003A003C1100600000D00013000000F259000013000000F25900004D6963726F736F667420285229204F7074696D697A696E6720436F6D70696C65720000F10000004E0000002A00471100000000000000000000000006000000000000000500000002100000000000000000006D61696E001C001210000000000000000000000000000000000000000000000042110002004F110000F2000000200000000000000000000000060000000000000001000000140000000000000001000080F4000000180000000100000010010BFC79AA614B536E3D64B110330D1E580000F30000000E00000000643A5C625C72657434322E63000000F10000000800000006004C110A100000
|
||||
Relocations:
|
||||
- VirtualAddress: 136
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECREL
|
||||
- VirtualAddress: 140
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECTION
|
||||
- VirtualAddress: 192
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECREL
|
||||
- VirtualAddress: 196
|
||||
SymbolName: main
|
||||
Type: IMAGE_REL_AMD64_SECTION
|
||||
- Name: '.debug$T'
|
||||
Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 1
|
||||
SectionData: 040000000A00011201000000000000000E0008107400000000000000001000001200011600000000011000006D61696E00F3F2F10E00051600000000443A5C6200F3F2F12200051600000000433A5C767331345C56435C42494E5C616D6436345C636C2E6578650002010516000000002D5A37202D63202D4D54202D49433A5C767331345C56435C494E434C554445202D49433A5C767331345C56435C41544C4D46435C494E434C554445202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C31305C696E636C7564655C31302E302E31303135302E305C7563727422202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C4E4554465853444B5C342E365C696E636C7564655C756D22202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C73686172656422000A00041601000000051000008200051606100000202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C756D22202D4922433A5C50726F6772616D2046696C65732028783836295C57696E646F7773204B6974735C382E315C696E636C7564655C77696E727422202D5443202D5800F3F2F10E0005160000000072657434322E63001600051600000000443A5C625C76633134302E70646200F11A00031605000310000004100000081000000910000007100000F2F1
|
||||
- Name: '.text$mn'
|
||||
Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
|
||||
Alignment: 16
|
||||
SectionData: B82A000000C3
|
||||
symbols:
|
||||
- Name: '@comp.id'
|
||||
Value: 17062386
|
||||
SectionNumber: -1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
- Name: '@feat.00'
|
||||
Value: 2147484048
|
||||
SectionNumber: -1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
- Name: .drectve
|
||||
Value: 0
|
||||
SectionNumber: 1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 47
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.debug$S'
|
||||
Value: 0
|
||||
SectionNumber: 2
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 296
|
||||
NumberOfRelocations: 4
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.debug$T'
|
||||
Value: 0
|
||||
SectionNumber: 3
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 576
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 0
|
||||
Number: 0
|
||||
- Name: '.text$mn'
|
||||
Value: 0
|
||||
SectionNumber: 4
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
SectionDefinition:
|
||||
Length: 6
|
||||
NumberOfRelocations: 0
|
||||
NumberOfLinenumbers: 0
|
||||
CheckSum: 2139436471
|
||||
Number: 0
|
||||
- Name: main
|
||||
Value: 0
|
||||
SectionNumber: 4
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
|
||||
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||||
...
|
||||
|
Loading…
x
Reference in New Issue
Block a user