[lld] r305517 - Resubmit "[llvm-pdbutil] rewrite the "raw" output style."

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 15 15:24:24 PDT 2017


Author: zturner
Date: Thu Jun 15 17:24:24 2017
New Revision: 305517

URL: http://llvm.org/viewvc/llvm-project?rev=305517&view=rev
Log:
Resubmit "[llvm-pdbutil] rewrite the "raw" output style."

This resubmits commit c0c249e9f2ef83e1d1e5f166b50673d92f3579d7.

It was broken due to some weird template issues, which have
since been fixed.

Modified:
    lld/trunk/test/COFF/pdb-lib.s
    lld/trunk/test/COFF/pdb.test

Modified: lld/trunk/test/COFF/pdb-lib.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-lib.s?rev=305517&r1=305516&r2=305517&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb-lib.s (original)
+++ lld/trunk/test/COFF/pdb-lib.s Thu Jun 15 17:24:24 2017
@@ -8,48 +8,17 @@
 # Make sure that the PDB has module descriptors. foo.obj and bar.lib should be
 # absolute paths, and bar.obj should be the relative path passed to llvm-lib.
 
-# CHECK-LABEL: Modules [
-# CHECK-NEXT:   {
-# CHECK-NEXT:     Name: {{.*pdb-lib.s.tmp[/\\]foo.obj}}
-# CHECK-NEXT:     Debug Stream Index:
-# CHECK-NEXT:     Object File Name: {{.*pdb-lib.s.tmp[/\\]foo.obj}}
-# CHECK-NEXT:     Num Files: 0
-# CHECK-NEXT:     Source File Name Idx: 0
-# CHECK-NEXT:     Pdb File Name Idx: 0
-# CHECK-NEXT:     Line Info Byte Size: 0
-# CHECK-NEXT:     C13 Line Info Byte Size: 0
-# CHECK-NEXT:     Symbol Byte Size: 4
-# CHECK-NEXT:     Type Server Index: 0
-# CHECK-NEXT:     Has EC Info: No
-# CHECK-NEXT:   }
-# CHECK-NEXT:   {
-# CHECK-NEXT:     Name: bar.obj
-# CHECK-NEXT:     Debug Stream Index:
-# CHECK-NEXT:     Object File Name: {{.*pdb-lib.s.tmp[/\\]bar.lib}}
-# CHECK-NEXT:     Num Files: 0
-# CHECK-NEXT:     Source File Name Idx: 0
-# CHECK-NEXT:     Pdb File Name Idx: 0
-# CHECK-NEXT:     Line Info Byte Size: 0
-# CHECK-NEXT:     C13 Line Info Byte Size: 0
-# CHECK-NEXT:     Symbol Byte Size: 4
-# CHECK-NEXT:     Type Server Index: 0
-# CHECK-NEXT:     Has EC Info: No
-# CHECK-NEXT:   }
-# CHECK-NEXT:   {
-# CHECK-NEXT:     Name: * Linker *
-# CHECK-NEXT:     Debug Stream Index:
-# CHECK-NEXT:     Object File Name:
-# CHECK-NEXT:     Num Files: 0
-# CHECK-NEXT:     Source File Name Idx: 0
-# CHECK-NEXT:     Pdb File Name Idx: 0
-# CHECK-NEXT:     Line Info Byte Size: 0
-# CHECK-NEXT:     C13 Line Info Byte Size: 0
-# CHECK-NEXT:     Symbol Byte Size: 4
-# CHECK-NEXT:     Type Server Index: 0
-# CHECK-NEXT:     Has EC Info: No
-# CHECK-NEXT:   }
-# CHECK-NEXT: ]
-
+# CHECK:                               Modules
+# CHECK-NEXT: ============================================================
+# CHECK-NEXT:   Mod 0000 | Name: `{{.*pdb-lib.s.tmp[/\\]foo.obj}}`:
+# CHECK-NEXT:              Obj: `{{.*pdb-lib.s.tmp[/\\]foo.obj}}`:
+# CHECK-NEXT:              debug stream: 9, # files: 0, has ec info: false
+# CHECK-NEXT:   Mod 0001 | Name: `bar.obj`:
+# CHECK-NEXT:              Obj: `{{.*pdb-lib.s.tmp[/\\]bar.lib}}`:
+# CHECK-NEXT:              debug stream: 10, # files: 0, has ec info: false
+# CHECK-NEXT:   Mod 0002 | Name: `* Linker *`:
+# CHECK-NEXT:              Obj: ``:
+# CHECK-NEXT:              debug stream: 11, # files: 0, has ec info: false
 
         .def     _main;
         .scl    2;

Modified: lld/trunk/test/COFF/pdb.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb.test?rev=305517&r1=305516&r2=305517&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb.test (original)
+++ lld/trunk/test/COFF/pdb.test Thu Jun 15 17:24:24 2017
@@ -6,8 +6,8 @@
 # RUN: llvm-pdbutil pdb2yaml -stream-metadata -stream-directory -pdb-stream \
 # RUN:   -dbi-stream -ipi-stream -tpi-stream %t.pdb | FileCheck %s
 
-# RUN: llvm-pdbutil raw -modules -section-map -section-headers -section-contribs \
-# RUN:   -tpi-records %t.pdb | FileCheck -check-prefix RAW %s
+# RUN: llvm-pdbutil raw -modules -section-map -section-contribs \
+# RUN:   -types -ids %t.pdb | FileCheck -check-prefix RAW %s
 
 # CHECK:      MSF:
 # CHECK-NEXT:   SuperBlock:
@@ -19,9 +19,9 @@
 # CHECK-NEXT:     BlockMapAddr:
 # CHECK-NEXT:   NumDirectoryBlocks:
 # CHECK-NEXT:   DirectoryBlocks:
-# CHECK-NEXT:   NumStreams:      
-# CHECK-NEXT:   FileSize:        
-# CHECK-NEXT: StreamSizes:     
+# CHECK-NEXT:   NumStreams:
+# CHECK-NEXT:   FileSize:
+# CHECK-NEXT: StreamSizes:
 # CHECK-NEXT: StreamMap:
 # CHECK:      PdbStream:
 # CHECK-NEXT:   Age:             1
@@ -115,322 +115,85 @@
 # CHECK-NEXT:       BuildInfo:
 # CHECK-NEXT:         ArgIndices:      [ 4098, 4099, 4106, 4104, 4102 ]
 
-# RAW:      Type Info Stream (TPI) {
-# RAW-NEXT:   TPI Version: 20040203
-# RAW-NEXT:   Record count: 5
-# RAW-NEXT:   Records [
-# RAW-NEXT:     {
-# RAW-NEXT:       ArgList (0x1000) {
-# RAW-NEXT:         TypeLeafKind: LF_ARGLIST (0x1201)
-# RAW-NEXT:         NumArgs: 0
-# RAW-NEXT:         Arguments [
-# RAW-NEXT:         ]
-# RAW-NEXT:       }
-# RAW-NEXT:     }
-# RAW-NEXT:     {
-# RAW-NEXT:       Procedure (0x1001) {
-# 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: () (0x1000)
-# RAW-NEXT:       }
-# RAW-NEXT:     }
-# RAW-NEXT:     {
-# 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:     TypeIndexOffsets [
-# RAW-NEXT:       Index: 0x1000, Offset: 0
-# RAW-NEXT:     ]
-# RAW-NEXT:   ]
-# RAW-NEXT: }
-# RAW-NEXT: DBI Stream {
-# RAW-NEXT:   Dbi Version: 20091201
-# RAW-NEXT:   Age: 1
-# RAW-NEXT:   Incremental Linking: No
-# RAW-NEXT:   Has CTypes: No
-# RAW-NEXT:   Is Stripped: No
-# RAW-NEXT:   Machine Type: x86
-# RAW-NEXT:   Symbol Record Stream Index: 65535
-# RAW-NEXT:   Public Symbol Stream Index: 65535
-# RAW-NEXT:   Global Symbol Stream Index: 65535
-# RAW-NEXT:   Toolchain Version: 0.0
-# RAW-NEXT:   mspdb00.dll version: 0.0.0
-# RAW-NEXT:   Modules [
-# RAW-NEXT:     {
-# RAW-NEXT:       Name: {{.*}}tmp1.obj
-# RAW-NEXT:       Debug Stream Index: 9
-# RAW-NEXT:       Object File Name: {{.*}}tmp1.obj
-# RAW-NEXT:       Num Files: 0
-# RAW-NEXT:       Source File Name Idx: 0
-# RAW-NEXT:       Pdb File Name Idx: 0
-# RAW-NEXT:       Line Info Byte Size: 0
-# RAW-NEXT:       C13 Line Info Byte Size: 0
-# RAW-NEXT:       Symbol Byte Size: 4
-# RAW-NEXT:       Type Server Index: 0
-# RAW-NEXT:       Has EC Info: No
-# RAW-NEXT:     }
-# RAW-NEXT:     {
-# RAW-NEXT:       Name: {{.*}}tmp2.obj
-# RAW-NEXT:       Debug Stream Index: 10
-# RAW-NEXT:       Object File Name: {{.*}}tmp2.obj
-# RAW-NEXT:       Num Files: 0
-# RAW-NEXT:       Source File Name Idx: 0
-# RAW-NEXT:       Pdb File Name Idx: 0
-# RAW-NEXT:       Line Info Byte Size: 0
-# RAW-NEXT:       C13 Line Info Byte Size: 0
-# RAW-NEXT:       Symbol Byte Size: 4
-# RAW-NEXT:       Type Server Index: 0
-# RAW-NEXT:       Has EC Info: No
-# RAW-NEXT:     }
-# RAW-NEXT:     {
-# RAW-NEXT:       Name: * Linker *
-# RAW-NEXT:       Debug Stream Index: 11
-# RAW-NEXT:       Object File Name:
-# RAW-NEXT:       Num Files: 0
-# RAW-NEXT:       Source File Name Idx: 0
-# RAW-NEXT:       Pdb File Name Idx: 0
-# RAW-NEXT:       Line Info Byte Size: 0
-# RAW-NEXT:       C13 Line Info Byte Size: 0
-# RAW-NEXT:       Symbol Byte Size: 4
-# RAW-NEXT:       Type Server Index: 0
-# RAW-NEXT:       Has EC Info: No
-# RAW-NEXT:     }
-# RAW-NEXT:   ]
-# RAW-NEXT: }
-# RAW-NEXT: Section Contributions [
-# RAW-NEXT:   Contribution {
-# RAW-NEXT:     ISect: 65535
-# 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: {{.*}}tmp1.obj
-# RAW-NEXT:     }
-# RAW-NEXT:     Data CRC: 0
-# RAW-NEXT:     Reloc CRC: 0
-# RAW-NEXT:   }
-# RAW-NEXT:   Contribution {
-# RAW-NEXT:     ISect: 65535
-# 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: {{.*}}tmp1.obj
-# RAW-NEXT:     }
-# RAW-NEXT:     Data CRC: 0
-# RAW-NEXT:     Reloc CRC: 0
-# RAW-NEXT:   }
-# RAW-NEXT:   Contribution {
-# RAW-NEXT:     ISect: 65535
-# 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: {{.*}}tmp1.obj
-# RAW-NEXT:     }
-# RAW-NEXT:     Data CRC: 0
-# RAW-NEXT:     Reloc CRC: 0
-# RAW-NEXT:   }
-# RAW-NEXT:   Contribution {
-# RAW-NEXT:     ISect: 65535
-# RAW-NEXT:     Off: 1144
-# RAW-NEXT:     Size: 6
-# 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: 1
-# RAW-NEXT:       Name: {{.*}}tmp2.obj
-# RAW-NEXT:     }
-# RAW-NEXT:     Data CRC: 0
-# RAW-NEXT:     Reloc CRC: 0
-# RAW-NEXT:   }
-# RAW-NEXT: ]
-# RAW-NEXT: Section Map [
-# 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: 1
-# RAW-NEXT:     SecName: 65535
-# RAW-NEXT:     ClassName: 65535
-# RAW-NEXT:     Offset: 0
-# RAW-NEXT:     SecByteLength: 12
-# RAW-NEXT:   }
-# RAW-NEXT:   Entry {
-# RAW-NEXT:     Flags [ (0x10D)
-# RAW-NEXT:       AddressIs32Bit (0x8)
-# RAW-NEXT:       Execute (0x4)
-# RAW-NEXT:       IsSelector (0x100)
-# RAW-NEXT:       Read (0x1)
-# RAW-NEXT:     ]
-# RAW-NEXT:     Ovl: 0
-# RAW-NEXT:     Group: 0
-# RAW-NEXT:     Frame: 2
-# RAW-NEXT:     SecName: 65535
-# RAW-NEXT:     ClassName: 65535
-# RAW-NEXT:     Offset: 0
-# 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:
-# RAW-NEXT:   }
-# RAW-NEXT:   Entry {
-# RAW-NEXT:     Flags [ (0x208)
-# RAW-NEXT:       AddressIs32Bit (0x8)
-# RAW-NEXT:       IsAbsoluteAddress (0x200)
-# RAW-NEXT:     ]
-# RAW-NEXT:     Ovl: 0
-# RAW-NEXT:     Group: 0
-# 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: Section Headers [
-# RAW-NEXT:   {
-# 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: 1024
-# 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: .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:
-# 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:                               Modules
+RAW-NEXT: ============================================================
+RAW-NEXT:   Mod 0000 | Name: `E:\src\llvmbuild\ninja\tools\lld\test\coff\Output\pdb.test.tmp1.obj`:
+RAW-NEXT:              Obj: `E:\src\llvmbuild\ninja\tools\lld\test\coff\Output\pdb.test.tmp1.obj`:
+RAW-NEXT:              debug stream: 9, # files: 0, has ec info: false
+RAW-NEXT:   Mod 0001 | Name: `E:\src\llvmbuild\ninja\tools\lld\test\coff\Output\pdb.test.tmp2.obj`:
+RAW-NEXT:              Obj: `E:\src\llvmbuild\ninja\tools\lld\test\coff\Output\pdb.test.tmp2.obj`:
+RAW-NEXT:              debug stream: 10, # files: 0, has ec info: false
+RAW-NEXT:   Mod 0002 | Name: `* Linker *`:
+RAW-NEXT:              Obj: ``:
+RAW-NEXT:              debug stream: 11, # files: 0, has ec info: false
+RAW:                          Types (TPI Stream)
+RAW-NEXT: ============================================================
+RAW-NEXT:   Showing 5 records
+RAW-NEXT:   0x1000 | LF_ARGLIST [size = 8]
+RAW-NEXT:   0x1001 | LF_PROCEDURE [size = 16]
+RAW-NEXT:            return type = 0x0074 (int), # args = 0, param list = 0x1000
+RAW-NEXT:            calling conv = cdecl, options = None
+RAW-NEXT:   0x1002 | LF_POINTER [size = 12]
+RAW-NEXT:            referent = 0x1001, mode = pointer, opts = None, kind = ptr64
+RAW-NEXT:   0x1003 | LF_ARGLIST [size = 12]
+RAW-NEXT:            <no type>: ``
+RAW-NEXT:   0x1004 | LF_PROCEDURE [size = 16]
+RAW-NEXT:            return type = 0x0074 (int), # args = 0, param list = 0x1003
+RAW-NEXT:            calling conv = cdecl, options = None
+RAW:                          Types (IPI Stream)
+RAW-NEXT: ============================================================
+RAW-NEXT:   Showing 12 records
+RAW-NEXT:   0x1000 | LF_FUNC_ID [size = 20]
+RAW-NEXT:            name = main, type = 0x1004, parent scope = <no type>
+RAW-NEXT:   0x1001 | LF_FUNC_ID [size = 16]
+RAW-NEXT:            name = foo, type = 0x1001, parent scope = <no type>
+RAW-NEXT:   0x1002 | LF_STRING_ID [size = 16] ID: <no type>, String: D:\b
+RAW-NEXT:   0x1003 | LF_STRING_ID [size = 36] ID: <no type>, String: C:\vs14\VC\BIN\amd64\cl.exe
+RAW-NEXT:   0x1004 | LF_STRING_ID [size = 260] 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"
+RAW-NEXT:   0x1005 | LF_SUBSTR_LIST [size = 12]
+RAW-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"`
+RAW-NEXT:   0x1006 | LF_STRING_ID [size = 132] 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 -X
+RAW-NEXT:   0x1007 | LF_STRING_ID [size = 24] ID: <no type>, String: ret42-main.c
+RAW-NEXT:   0x1008 | LF_STRING_ID [size = 24] ID: <no type>, String: D:\b\vc140.pdb
+RAW-NEXT:   0x1009 | LF_BUILDINFO [size = 28]
+RAW-NEXT:            0x1002: `D:\b`
+RAW-NEXT:            0x1003: `C:\vs14\VC\BIN\amd64\cl.exe`
+RAW-NEXT:            0x1007: `ret42-main.c`
+RAW-NEXT:            0x1008: `D:\b\vc140.pdb`
+RAW-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`
+RAW-NEXT:   0x100A | LF_STRING_ID [size = 20] ID: <no type>, String: ret42-sub.c
+RAW-NEXT:   0x100B | LF_BUILDINFO [size = 28]
+RAW-NEXT:            0x1002: `D:\b`
+RAW-NEXT:            0x1003: `C:\vs14\VC\BIN\amd64\cl.exe`
+RAW-NEXT:            0x100A: `ret42-sub.c`
+RAW-NEXT:            0x1008: `D:\b\vc140.pdb`
+RAW-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`
+RAW:                        Section Contributions
+RAW-NEXT: ============================================================
+RAW-NEXT:   SC  | mod = 0, 65535:1288, size = 14, data crc = 0, reloc crc = 0
+RAW-NEXT:         IMAGE_SCN_CNT_CODE | IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE |
+RAW-NEXT:         IMAGE_SCN_MEM_READ
+RAW-NEXT:   SC  | mod = 0, 65535:1312, size = 8, data crc = 0, reloc crc = 0
+RAW-NEXT:         IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_READ
+RAW-NEXT:   SC  | mod = 0, 65535:1320, size = 12, data crc = 0, reloc crc = 0
+RAW-NEXT:         IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_MEM_READ
+RAW-NEXT:   SC  | mod = 1, 65535:1144, size = 6, data crc = 0, reloc crc = 0
+RAW-NEXT:         IMAGE_SCN_CNT_CODE | IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE |
+RAW-NEXT:         IMAGE_SCN_MEM_READ
+RAW:                             Section Map
+RAW-NEXT: ============================================================
+RAW-NEXT:   Section 0000 | ovl = 0, group = 0, frame = 0, name = 1
+RAW-NEXT:                  class = 65535, offset = 0, size = 12
+RAW-NEXT:                  flags = read | 32 bit addr | selector
+RAW-NEXT:   Section 0001 | ovl = 1, group = 0, frame = 0, name = 2
+RAW-NEXT:                  class = 65535, offset = 0, size = 22
+RAW-NEXT:                  flags = read | execute | 32 bit addr | selector
+RAW-NEXT:   Section 0002 | ovl = 2, group = 0, frame = 0, name = 3
+RAW-NEXT:                  class = 65535, offset = 0, size = 8
+RAW-NEXT:                  flags = read | 32 bit addr | selector
+RAW-NEXT:   Section 0003 | ovl = 3, group = 0, frame = 0, name = 4
+RAW-NEXT:                  class = 65535, offset = 0, size = 119
+RAW-NEXT:                  flags = read | 32 bit addr | selector
+RAW-NEXT:   Section 0004 | ovl = 4, group = 0, frame = 0, name = 5
+RAW-NEXT:                  class = 65535, offset = 0, size = 4294967295
+RAW-NEXT:                  flags = 32 bit addr | absolute addr




More information about the llvm-commits mailing list