brintos

brintos / llvm-project-archived public Read only

0
0
Text · 14.6 KiB · 5492fec Raw
284 lines · plain
1# RUN: yaml2obj %p/Inputs/pdb1.yaml -o %t1.obj2# RUN: yaml2obj %p/Inputs/pdb2.yaml -o %t2.obj3# RUN: rm -f %t.dll %t.pdb4# RUN: lld-link /debug /pdb:%t.pdb /pdbaltpath:test.pdb /dll /out:%t.dll \5# RUN:   /entry:main /nodefaultlib %t1.obj %t2.obj6 7# RUN: llvm-pdbutil pdb2yaml -stream-metadata -stream-directory -pdb-stream \8# RUN:   -dbi-stream -ipi-stream -tpi-stream %t.pdb | FileCheck %s9 10# RUN: llvm-pdbutil dump -modules -section-map -section-contribs -section-headers \11# RUN:   -publics -public-extras -types -ids -type-extras -id-extras %t.pdb \12# RUN:   | FileCheck -check-prefix RAW %s13 14# CHECK:      MSF:15# CHECK-NEXT:   SuperBlock:16# CHECK-NEXT:     BlockSize:       409617# CHECK-NEXT:     FreeBlockMap:    218# CHECK-NEXT:     NumBlocks:19# CHECK-NEXT:     NumDirectoryBytes:20# CHECK-NEXT:     Unknown1:        021# CHECK-NEXT:     BlockMapAddr:22# CHECK-NEXT:   NumDirectoryBlocks:23# CHECK-NEXT:   DirectoryBlocks:24# CHECK-NEXT:   NumStreams:25# CHECK-NEXT:   FileSize:26# CHECK-NEXT: StreamSizes:27# CHECK:      StreamMap:28# CHECK:      PdbStream:29# CHECK-NEXT:   Age:             130# CHECK-NEXT:   Guid:31# CHECK-NEXT:   Signature:32# CHECK-NEXT:   Features:        [ VC140 ]33# CHECK-NEXT:   Version:         VC7034# CHECK-NEXT: DbiStream:35# CHECK-NEXT:   VerHeader:       V7036# CHECK-NEXT:   Age:             137# CHECK-NEXT:   BuildNumber:     3636338# CHECK-NEXT:   PdbDllVersion:   039# CHECK-NEXT:   PdbDllRbld:      040# CHECK-NEXT:   Flags:           041# CHECK-NEXT:   MachineType:     Amd6442# CHECK-NEXT: TpiStream:43# CHECK-NEXT:   Version:         VC8044# CHECK-NEXT:   Records:45# CHECK-NEXT:     - Kind:            LF_ARGLIST46# CHECK-NEXT:       ArgList:47# CHECK-NEXT:         ArgIndices:      [  ]48# CHECK-NEXT:     - Kind:            LF_PROCEDURE49# CHECK-NEXT:       Procedure:50# CHECK-NEXT:         ReturnType:      11651# CHECK-NEXT:         CallConv:        NearC52# CHECK-NEXT:         Options:         [ None ]53# CHECK-NEXT:         ParameterCount:  054# CHECK-NEXT:         ArgumentList:    409655# CHECK-NEXT:     - Kind:            LF_POINTER56# CHECK-NEXT:       Pointer:57# CHECK-NEXT:         ReferentType:    409758# CHECK-NEXT:         Attrs:           6554859# CHECK-NEXT:     - Kind:            LF_ARGLIST60# CHECK-NEXT:       ArgList:61# CHECK-NEXT:         ArgIndices:      [ 0 ]62# CHECK-NEXT:     - Kind:            LF_PROCEDURE63# CHECK-NEXT:       Procedure:64# CHECK-NEXT:         ReturnType:      11665# CHECK-NEXT:         CallConv:        NearC66# CHECK-NEXT:         Options:         [ None ]67# CHECK-NEXT:         ParameterCount:  068# CHECK-NEXT:         ArgumentList:    409969# CHECK-NEXT: IpiStream:70# CHECK-NEXT:   Version:         VC8071# CHECK-NEXT:   Records:72# CHECK-NEXT:     - Kind:            LF_FUNC_ID73# CHECK-NEXT:       FuncId:74# CHECK-NEXT:         ParentScope:     075# CHECK-NEXT:         FunctionType:    410076# CHECK-NEXT:         Name:            main77# CHECK-NEXT:     - Kind:            LF_FUNC_ID78# CHECK-NEXT:       FuncId:79# CHECK-NEXT:         ParentScope:     080# CHECK-NEXT:         FunctionType:    409781# CHECK-NEXT:         Name:            foo82# CHECK-NEXT:     - Kind:            LF_STRING_ID83# CHECK-NEXT:       StringId:84# CHECK-NEXT:         Id:              085# CHECK-NEXT:         String:          'D:\b'86# CHECK-NEXT:     - Kind:            LF_STRING_ID87# CHECK-NEXT:       StringId:88# CHECK-NEXT:         Id:              089# CHECK-NEXT:         String:          'C:\vs14\VC\BIN\amd64\cl.exe'90# CHECK-NEXT:     - Kind:            LF_STRING_ID91# CHECK-NEXT:       StringId:92# CHECK-NEXT:         Id:              093# 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"'94# CHECK-NEXT:     - Kind:            LF_SUBSTR_LIST95# CHECK-NEXT:       StringList:96# CHECK-NEXT:         StringIndices:   [ 4100 ]97# CHECK-NEXT:     - Kind:            LF_STRING_ID98# CHECK-NEXT:       StringId:99# CHECK-NEXT:         Id:              4101100# 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'101# CHECK-NEXT:     - Kind:            LF_STRING_ID102# CHECK-NEXT:       StringId:103# CHECK-NEXT:         Id:              0104# CHECK-NEXT:         String:          ret42-main.c105# CHECK-NEXT:     - Kind:            LF_STRING_ID106# CHECK-NEXT:       StringId:107# CHECK-NEXT:         Id:              0108# CHECK-NEXT:         String:          'D:\b\vc140.pdb'109# CHECK-NEXT:     - Kind:            LF_BUILDINFO110# CHECK-NEXT:       BuildInfo:111# CHECK-NEXT:         ArgIndices:      [ 4098, 4099, 4103, 4104, 4102 ]112# CHECK-NEXT:     - Kind:            LF_STRING_ID113# CHECK-NEXT:       StringId:114# CHECK-NEXT:         Id:              0115# CHECK-NEXT:         String:          ret42-sub.c116# CHECK-NEXT:     - Kind:            LF_BUILDINFO117# CHECK-NEXT:       BuildInfo:118# CHECK-NEXT:         ArgIndices:      [ 4098, 4099, 4106, 4104, 4102 ]119 120RAW:                               Modules121RAW-NEXT: ============================================================122RAW-NEXT:   Mod 0000 | `{{.*}}pdb.test.tmp1.obj`:123RAW-NEXT:              SC[.text]  | mod = 0, 0001:0000, size = 14, data crc = 1682752513, reloc crc = 0124RAW-NEXT:                           IMAGE_SCN_CNT_CODE | IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE |125RAW-NEXT:                           IMAGE_SCN_MEM_READ126RAW-NEXT:              Obj: `{{.*}}pdb.test.tmp1.obj`:127RAW-NEXT:              debug stream: 11, # files: 1, has ec info: false128RAW-NEXT:              pdb file ni: 0 ``, src file ni: 0 ``129RAW-NEXT:   Mod 0001 | `{{.*}}pdb.test.tmp2.obj`:130RAW-NEXT:              SC[.text]  | mod = 1, 0001:0016, size = 6, data crc = 2139436471, reloc crc = 0131RAW-NEXT:                           IMAGE_SCN_CNT_CODE | IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE |132RAW-NEXT:                           IMAGE_SCN_MEM_READ133RAW-NEXT:              Obj: `{{.*}}pdb.test.tmp2.obj`:134RAW-NEXT:              debug stream: 12, # files: 1, has ec info: false135RAW-NEXT:              pdb file ni: 0 ``, src file ni: 0 ``136RAW-NEXT:   Mod 0002 | `* Linker *`:137RAW-NEXT:              SC[???]  | mod = 65535, 65535:0000, size = -1, data crc = 0, reloc crc = 0138RAW-NEXT:                         none139RAW-NEXT:              Obj: ``:140RAW-NEXT:              debug stream: 13, # files: 0, has ec info: false141RAW-NEXT:              pdb file ni: 1 `{{.*pdb.test.tmp.pdb}}`, src file ni: 0 ``142RAW:                          Types (TPI Stream)143RAW-NEXT: ============================================================144RAW-NEXT:   Showing 5 records145RAW-NEXT:   0x1000 | LF_ARGLIST [size = 8, hash = 0x32484]146RAW-NEXT:   0x1001 | LF_PROCEDURE [size = 16, hash = 0x27EE9]147RAW-NEXT:            return type = 0x0074 (int), # args = 0, param list = 0x1000148RAW-NEXT:            calling conv = cdecl, options = None149RAW-NEXT:   0x1002 | LF_POINTER [size = 12, hash = 0x39732]150RAW-NEXT:            referent = 0x1001, mode = pointer, opts = None, kind = ptr64151RAW-NEXT:   0x1003 | LF_ARGLIST [size = 12, hash = 0x1FC10]152RAW-NEXT:            <no type>: ``153RAW-NEXT:   0x1004 | LF_PROCEDURE [size = 16, hash = 0x1BD3]154RAW-NEXT:            return type = 0x0074 (int), # args = 0, param list = 0x1003155RAW-NEXT:            calling conv = cdecl, options = None156RAW:                          Types (IPI Stream)157RAW-NEXT: ============================================================158RAW-NEXT:   Showing 12 records159RAW-NEXT:   0x1000 | LF_FUNC_ID [size = 20, hash = 0x38E5A]160RAW-NEXT:            name = main, type = 0x1004, parent scope = <no type>161RAW-NEXT:   0x1001 | LF_FUNC_ID [size = 16, hash = 0xD08E]162RAW-NEXT:            name = foo, type = 0x1001, parent scope = <no type>163RAW-NEXT:   0x1002 | LF_STRING_ID [size = 16, hash = 0x3EBD9] ID: <no type>, String: D:\b164RAW-NEXT:   0x1003 | LF_STRING_ID [size = 36, hash = 0xD327] ID: <no type>, String: C:\vs14\VC\BIN\amd64\cl.exe165RAW-NEXT:   0x1004 | LF_STRING_ID [size = 260, hash = 0x2FA6A]  ID: <no type>, 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"166RAW-NEXT:   0x1005 | LF_SUBSTR_LIST [size = 12, hash = 0x6053]167RAW-NEXT:            0x1004: `-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"`168RAW-NEXT:   0x1006 | LF_STRING_ID [size = 132, hash = 0xCAC7] ID: 0x1005, String:  -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X169RAW-NEXT:   0x1007 | LF_STRING_ID [size = 24, hash = 0x21783] ID: <no type>, String: ret42-main.c170RAW-NEXT:   0x1008 | LF_STRING_ID [size = 24, hash = 0x1DB87] ID: <no type>, String: D:\b\vc140.pdb171RAW-NEXT:   0x1009 | LF_BUILDINFO [size = 28, hash = 0x5E91]172RAW-NEXT:            0x1002: `D:\b`173RAW-NEXT:            0x1003: `C:\vs14\VC\BIN\amd64\cl.exe`174RAW-NEXT:            0x1007: `ret42-main.c`175RAW-NEXT:            0x1008: `D:\b\vc140.pdb`176RAW-NEXT:            0x1006: ` -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X`177RAW-NEXT:   0x100A | LF_STRING_ID [size = 20, hash = 0x7C68] ID: <no type>, String: ret42-sub.c178RAW-NEXT:   0x100B | LF_BUILDINFO [size = 28, hash = 0x254D2]179RAW-NEXT:            0x1002: `D:\b`180RAW-NEXT:            0x1003: `C:\vs14\VC\BIN\amd64\cl.exe`181RAW-NEXT:            0x100A: `ret42-sub.c`182RAW-NEXT:            0x1008: `D:\b\vc140.pdb`183RAW-NEXT:            0x1006: ` -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -TC -X`184RAW:                            Public Symbols185RAW-NEXT: ============================================================186RAW-NEXT:   Publics Header187RAW-NEXT:     sym hash = 556, thunk table addr = 0000:0000188RAW-NEXT:   GSI Header189RAW-NEXT:     sig = 0xFFFFFFFF, hdr = 0xF12F091A, hr size = 16, num buckets = 524190RAW-NEXT:   Records191RAW-NEXT:       20 | S_PUB32 [size = 20] `main`192RAW-NEXT:            flags = function, addr = 0001:0000193RAW-NEXT:        0 | S_PUB32 [size = 20] `foo`194RAW-NEXT:            flags = function, addr = 0001:0016195RAW-NOT:             S_PUB32196RAW-NEXT:   Hash Entries197RAW-NEXT:     off = 21, refcnt = 1198RAW-NEXT:     off = 1, refcnt = 1199RAW-NEXT:   Hash Buckets200RAW-NEXT:     0x00000000201RAW-NEXT:     0x0000000c202RAW-NEXT:   Address Map203RAW-NEXT:     off = 20204RAW-NEXT:     off = 0205RAW:                            Section Headers206RAW-NEXT: ============================================================207 208RAW:        SECTION HEADER #1209RAW-NEXT:     .text name210RAW-NEXT:        16 virtual size211RAW-NEXT:      1000 virtual address212RAW-NEXT:       200 size of raw data213RAW-NEXT:       400 file pointer to raw data214RAW-NEXT:         0 file pointer to relocation table215RAW-NEXT:         0 file pointer to line numbers216RAW-NEXT:         0 number of relocations217RAW-NEXT:         0 number of line numbers218RAW-NEXT:  60000020 flags219RAW-NEXT:           IMAGE_SCN_CNT_CODE220RAW-NEXT:           IMAGE_SCN_MEM_EXECUTE221RAW-NEXT:           IMAGE_SCN_MEM_READ222RAW:        SECTION HEADER #2223RAW-NEXT:    .rdata name224RAW-NEXT:           virtual size225RAW-NEXT:      2000 virtual address226RAW-NEXT:       200 size of raw data227RAW-NEXT:       600 file pointer to raw data228RAW-NEXT:         0 file pointer to relocation table229RAW-NEXT:         0 file pointer to line numbers230RAW-NEXT:         0 number of relocations231RAW-NEXT:         0 number of line numbers232RAW-NEXT:  40000040 flags233RAW-NEXT:           IMAGE_SCN_CNT_INITIALIZED_DATA234RAW-NEXT:           IMAGE_SCN_MEM_READ235RAW:        SECTION HEADER #3236RAW-NEXT:    .pdata name237RAW-NEXT:         C virtual size238RAW-NEXT:      3000 virtual address239RAW-NEXT:       200 size of raw data240RAW-NEXT:       800 file pointer to raw data241RAW-NEXT:         0 file pointer to relocation table242RAW-NEXT:         0 file pointer to line numbers243RAW-NEXT:         0 number of relocations244RAW-NEXT:         0 number of line numbers245RAW-NEXT:  40000040 flags246RAW-NEXT:           IMAGE_SCN_CNT_INITIALIZED_DATA247RAW-NEXT:           IMAGE_SCN_MEM_READ248RAW:                        Original Section Headers249RAW-NEXT: ============================================================250RAW-NEXT:   PDB does not contain the requested image section header type251RAW:                        Section Contributions252RAW-NEXT: ============================================================253 254RAW-NEXT:   SC[.text]   | mod = 0, 0001:0000, size = 14, data crc = 1682752513, reloc crc = 0255RAW-NEXT:                 IMAGE_SCN_CNT_CODE | IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE |256RAW-NEXT:                 IMAGE_SCN_MEM_READ257RAW-NEXT:   SC[.text]   | mod = 1, 0001:0016, size = 6, data crc = 2139436471, reloc crc = 0258RAW-NEXT:                 IMAGE_SCN_CNT_CODE | IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE |259RAW-NEXT:                 IMAGE_SCN_MEM_READ260RAW-NEXT:   SC[.rdata]  | mod = 2, 0002:0000, size = {{[0-9]+}}, data crc = 0, reloc crc = 0261RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ262RAW-NEXT:   SC[.rdata]  | mod = 2, 0002:0028, size = {{[0-9]+}}, data crc = 0, reloc crc = 0263RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ264RAW-NEXT:   SC[.rdata]  | mod = 0, 0002:0064, size = {{[0-9]+}}, data crc = 264583633, reloc crc = 0265RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_READ266RAW-NEXT:   SC[.pdata]  | mod = 0, 0003:0000, size = 12, data crc = 361370162, reloc crc = 0267RAW-NEXT:                 IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_READ268RAW-NOT: SC[269RAW:                             Section Map270RAW-NEXT: ============================================================271 272RAW-NEXT:   Section 0000 | ovl = 0, group = 0, frame = 1, name = 65535273RAW-NEXT:                  class = 65535, offset = 0, size =274RAW-NEXT:                  flags = read | execute | 32 bit addr | selector275RAW-NEXT:   Section 0001 | ovl = 0, group = 0, frame = 2, name = 65535276RAW-NEXT:                  class = 65535, offset = 0, size =277RAW-NEXT:                  flags = read | 32 bit addr | selector278RAW-NEXT:   Section 0002 | ovl = 0, group = 0, frame = 3, name = 65535279RAW-NEXT:                  class = 65535, offset = 0, size =280RAW-NEXT:                  flags = read | 32 bit addr | selector281RAW-NEXT:   Section 0003 | ovl = 0, group = 0, frame = 4, name = 65535282RAW-NEXT:                  class = 65535, offset = 0, size = 4294967295283RAW-NEXT:                  flags = 32 bit addr | absolute addr284