[lld] r332664 - [codeview] Include record prefix in global type hashing

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Thu May 17 13:47:22 PDT 2018


Author: rnk
Date: Thu May 17 13:47:22 2018
New Revision: 332664

URL: http://llvm.org/viewvc/llvm-project?rev=332664&view=rev
Log:
[codeview] Include record prefix in global type hashing

The prefix includes type kind, which is important to preserve. Two
different type leafs can easily have the same interior record contents
as another type.

We ran into this issue in PR37492 where a bitfield type record collided
with a const modifier record. Their contents were bitwise identical, but
their kinds were different.

Modified:
    lld/trunk/test/COFF/Inputs/pdb-hashes-1.yaml
    lld/trunk/test/COFF/Inputs/pdb-hashes-2-missing.yaml
    lld/trunk/test/COFF/Inputs/pdb-hashes-2.yaml
    lld/trunk/test/COFF/pdb-global-hashes.test

Modified: lld/trunk/test/COFF/Inputs/pdb-hashes-1.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/pdb-hashes-1.yaml?rev=332664&r1=332663&r2=332664&view=diff
==============================================================================
--- lld/trunk/test/COFF/Inputs/pdb-hashes-1.yaml (original)
+++ lld/trunk/test/COFF/Inputs/pdb-hashes-1.yaml Thu May 17 13:47:22 2018
@@ -6,7 +6,7 @@ sections:
   - Name:            .text
     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
     Alignment:       16
-    SectionData:     5589E55683EC188B450C8B4D088D55F4C745F8000000008B7508894DF089D18934248945ECE80000000083EC048D4DF4890C248945E8E80000000083C4185E5DC3
+    SectionData:     5589E55683EC188B450C8B4D08C745F8000000008B55088D75F4894DF089F18914248945ECE80000000083EC048D4DF4890C248945E8E80000000083C4185E5DC3
     Relocations:
       - VirtualAddress:  38
         SymbolName:      '??0Foo at NS@@QAE at H@Z'
@@ -33,7 +33,7 @@ sections:
   - Name:            '.debug$S'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
-    SectionData:     04000000F10000002F0000002D003C1101000000070006000000000000007017000000000000636C616E672076657273696F6E20362E302E30200000F50000008400000000000000000000004100000000000000080000000000000052000000070000000400000001000000400000000000000008000000000000007F0000000600040000000000030000003E000000000000000800000000000000BD0000000400040000000000040000003D000000000000000800000000000000FA0000000300080000000000F1000000960000002A00471100000000000000000000000041000000000000000000000003100000000000000000006D61696E000D003E1174000000010061726763001200451116000000080000001700000000002A000D003E11001000000100617267760012004511160000000C0000001700000000002A000A003E1109100000000066001200451116000000F4FFFFFF1700000000002A0002004F110000F200000030000000000000000000000041000000000000000300000024000000000000000300000017000000040000003000000005000000F1000000100000000E000811091000004E533A3A466F6F00F40000003000000001000000100165C9E387F88362A8EB2B49539DD5A65500002B00000010019303CF100D518DAF59C31DA01FEF4AFC0000F30000004801000000443A5C7372635C6C6C766D6275696C645C636C616E675C44656275675C7838365C6F626A312E63707000443A5C7372635C6C6C766D6275696C645C636C616E675C44656275675C7838365C6F626A2E6800245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200024543020246562702034202B203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200024543020246562702034202B203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D2024657369202454302038202D205E203D2000
+    SectionData:     04000000F10000002F0000002D003C110100000007000700000000000000581B000000000000636C616E672076657273696F6E20372E302E30200000F5000000840000000000000000000000410000000000000008000000000000004400000007000000040000000100000040000000000000000800000000000000710000000600040000000000030000003E000000000000000800000000000000AF0000000400040000000000040000003D000000000000000800000000000000EC0000000300080000000000F1000000960000002A00471100000000000000000000000041000000000000000000000003100000000000000000006D61696E000D003E1174000000010061726763001200451116000000080000001400000000002D000D003E11001000000100617267760012004511160000000C0000001400000000002D000A003E1109100000000066001200451116000000F4FFFFFF1400000000002D0002004F110000F200000030000000000000000000000041000000000000000300000024000000000000000400000014000000050000002D00000006000000F1000000100000000E000811091000004E533A3A466F6F00F4000000300000000100000010013469AC0DCAB9F1D7ED0FC4FA74E3983A0000240000001001C6036A3E7D29B0AB68FEE19A35B11BCD0000F30000003C01000000433A5C7372635C6C6C766D2D70726F6A6563745C6275696C645C6F626A312E63707000433A5C7372635C6C6C766D2D70726F6A6563745C6275696C645C6F626A2E6800245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200024543020246562702034202B203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200024543020246562702034202B203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D2024657369202454302038202D205E203D20000000
     Subsections:
       - !Symbols
         Records:
@@ -41,15 +41,15 @@ sections:
             Compile3Sym:
               Flags:           [  ]
               Machine:         Pentium3
-              FrontendMajor:   6
+              FrontendMajor:   7
               FrontendMinor:   0
               FrontendBuild:   0
               FrontendQFE:     0
-              BackendMajor:    6000
+              BackendMajor:    7000
               BackendMinor:    0
               BackendBuild:    0
               BackendQFE:      0
-              Version:         'clang version 6.0.0 '
+              Version:         'clang version 7.0.0 '
       - !FrameData
         Frames:
           - CodeSize:        65
@@ -99,16 +99,46 @@ sections:
               Type:            116
               Flags:           [ IsParameter ]
               VarName:         argc
+          - Kind:            S_DEFRANGE_REGISTER_REL
+            DefRangeRegisterRelSym:
+              Register:        22
+              Flags:           0
+              BasePointerOffset: 8
+              Range:
+                OffsetStart:     20
+                ISectStart:      0
+                Range:           45
+              Gaps:
           - Kind:            S_LOCAL
             LocalSym:
               Type:            4096
               Flags:           [ IsParameter ]
               VarName:         argv
+          - Kind:            S_DEFRANGE_REGISTER_REL
+            DefRangeRegisterRelSym:
+              Register:        22
+              Flags:           0
+              BasePointerOffset: 12
+              Range:
+                OffsetStart:     20
+                ISectStart:      0
+                Range:           45
+              Gaps:
           - Kind:            S_LOCAL
             LocalSym:
               Type:            4105
               Flags:           [  ]
               VarName:         f
+          - Kind:            S_DEFRANGE_REGISTER_REL
+            DefRangeRegisterRelSym:
+              Register:        22
+              Flags:           0
+              BasePointerOffset: -12
+              Range:
+                OffsetStart:     20
+                ISectStart:      0
+                Range:           45
+              Gaps:
           - Kind:            S_PROC_ID_END
             ScopeEndSym:
       - !Lines
@@ -117,20 +147,20 @@ sections:
         RelocOffset:     0
         RelocSegment:    0
         Blocks:
-          - FileName:        'D:\src\llvmbuild\clang\Debug\x86\obj1.cpp'
+          - FileName:        'C:\src\llvm-project\build\obj1.cpp'
             Lines:
               - Offset:          0
-                LineStart:       3
-                IsStatement:     false
-                EndDelta:        0
-              - Offset:          23
                 LineStart:       4
                 IsStatement:     false
                 EndDelta:        0
-              - Offset:          48
+              - Offset:          20
                 LineStart:       5
                 IsStatement:     false
                 EndDelta:        0
+              - Offset:          45
+                LineStart:       6
+                IsStatement:     false
+                EndDelta:        0
             Columns:
       - !Symbols
         Records:
@@ -140,20 +170,22 @@ sections:
               UDTName:         'NS::Foo'
       - !FileChecksums
         Checksums:
-          - FileName:        'D:\src\llvmbuild\clang\Debug\x86\obj1.cpp'
+          - FileName:        'C:\src\llvm-project\build\obj1.cpp'
             Kind:            MD5
-            Checksum:        65C9E387F88362A8EB2B49539DD5A655
-          - FileName:        'D:\src\llvmbuild\clang\Debug\x86\obj.h'
+            Checksum:        3469AC0DCAB9F1D7ED0FC4FA74E3983A
+          - FileName:        'C:\src\llvm-project\build\obj.h'
             Kind:            MD5
-            Checksum:        9303CF100D518DAF59C31DA01FEF4AFC
+            Checksum:        C6036A3E7D29B0AB68FEE19A35B11BCD
       - !StringTable
         Strings:
-          - 'D:\src\llvmbuild\clang\Debug\x86\obj1.cpp'
-          - 'D:\src\llvmbuild\clang\Debug\x86\obj.h'
+          - 'C:\src\llvm-project\build\obj1.cpp'
+          - 'C:\src\llvm-project\build\obj.h'
           - '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = '
           - '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
           - '$T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
           - '$T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $esi $T0 8 - ^ = '
+          - ''
+          - ''
     Relocations:
       - VirtualAddress:  68
         SymbolName:      _main
@@ -191,7 +223,7 @@ sections:
   - Name:            '.debug$T'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
-    SectionData:     040000000A000210700400000A8000000E0001120200000074000000001000000E0008107400000000000200011000001200011600000000021000006D61696E00F3F2F12A0005150000800200000000000000000000000000004E533A3A466F6F002E3F4155466F6F404E53404000F10A000210041000000A8000000A00011201000000740000001A0009100300000004100000051000000B00010006100000000000001A0003120D15030074000000000058001115030007100000466F6F002A0005150200000208100000000000000000000004004E533A3A466F6F002E3F4155466F6F404E53404000F12E00051600000000443A5C7372635C6C6C766D6275696C645C636C616E675C44656275675C7838365C6F626A2E6800F10E000616091000000A100000020000000E0002160410000007100000466F6F00
+    SectionData:     040000000A000210700400000A8000000E0001120200000074000000001000000E0008107400000000000200011000001200011600000000021000006D61696E00F3F2F12A0005150000800200000000000000000000000000004E533A3A466F6F002E3F4155466F6F404E53404000F10A000210041000000A8000000A00011201000000740000001A0009100300000004100000051000000B00010006100000000000001A0003120D15030074000000000058001115030007100000466F6F002A0005150200000208100000000000000000000004004E533A3A466F6F002E3F4155466F6F404E53404000F12600051600000000433A5C7372635C6C6C766D2D70726F6A6563745C6275696C645C6F626A2E68000E000616091000000A100000030000000E0002160410000007100000466F6F00
     Types:
       - Kind:            LF_POINTER
         Pointer:
@@ -266,12 +298,12 @@ sections:
       - Kind:            LF_STRING_ID
         StringId:
           Id:              0
-          String:          'D:\src\llvmbuild\clang\Debug\x86\obj.h'
+          String:          'C:\src\llvm-project\build\obj.h'
       - Kind:            LF_UDT_SRC_LINE
         UdtSourceLine:
           UDT:             4105
           SourceFile:      4106
-          LineNumber:      2
+          LineNumber:      3
       - Kind:            LF_MFUNC_ID
         MemberFuncId:
           ClassType:       4100
@@ -280,28 +312,28 @@ sections:
   - Name:            '.debug$H'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
-    SectionData:     C5C93301000000009E56666824DC4B12E25261D4E09E6E9DA0F4EE31FDEC3D2D96287486127C66070B248ED52E421F55074AE5CC2D68AF9F0A3BEF23993968F7FD82CA84BF0439C1A64C9070C6A6ADB0A34D21DAD0FFC3E99E616EF06A14EA74A2420F9062A1FB04917E5975E3A50EABE5E8FE3945468547C19DC681D0BFB3B797DD91CA4D7F1953C314442D5549419E78044E38A0BF16BFFAA5EE9C0103E7DBFE9941E63379C0B0C0A9021B711ACC4F67008974EBF441031BDD653F6935DFF3112C6A5346EF2AC94B9B7EB56EF55CFA0AF6C1846743F43D846BB19517E12E8873BBA90CC41DD1BEAC89CBA8897AC1BA46762E2557A82D894CEAE81AEF8680D723D403D9A4481F0E28683A98
+    SectionData:     C5C9330100000000624A7FEE7323656B7F1C5A63800309EE1ED8BB5B0EB2C87AD629AA9E5C98B7A3ED69DB1355707DF1624E463ACE08649D0FC35F163E20CC43089ADCA64B712C03EDA4CB88537EBAE4005A09006A9FB389476700689419512EFB395F1A23ADA4E788EB7A90DA146E89F004E6185E87867C58B4AC836CBBD1301D1BC1BDEEB7F3A86BB7ECCF6632585CDC7606E4CCAB0C6E6E190E3091E4290AFF7BA25E9E8209892CA91CCBF55A49FCB303335DC553B426E3AC635C1883F35475E9A4A12ED6396BC795E5D801DB74B371743A7A9E69529643FB49E2201DD99ECA4F72B2213D30B9768BAE6EB7C1150155B4421347349E771F26985B869638BAA4FE40A80C07611AAF09B6A4
     GlobalHashes:
       Version:         0
       HashAlgorithm:   0
       HashValues:
-        - 9E56666824DC4B12E25261D4E09E6E9DA0F4EE31
-        - FDEC3D2D96287486127C66070B248ED52E421F55
-        - 074AE5CC2D68AF9F0A3BEF23993968F7FD82CA84
-        - BF0439C1A64C9070C6A6ADB0A34D21DAD0FFC3E9
-        - 9E616EF06A14EA74A2420F9062A1FB04917E5975
-        - E3A50EABE5E8FE3945468547C19DC681D0BFB3B7
-        - 97DD91CA4D7F1953C314442D5549419E78044E38
-        - A0BF16BFFAA5EE9C0103E7DBFE9941E63379C0B0
-        - C0A9021B711ACC4F67008974EBF441031BDD653F
-        - 6935DFF3112C6A5346EF2AC94B9B7EB56EF55CFA
-        - 0AF6C1846743F43D846BB19517E12E8873BBA90C
-        - C41DD1BEAC89CBA8897AC1BA46762E2557A82D89
-        - 4CEAE81AEF8680D723D403D9A4481F0E28683A98
+        - 624A7FEE7323656B7F1C5A63800309EE1ED8BB5B
+        - 0EB2C87AD629AA9E5C98B7A3ED69DB1355707DF1
+        - 624E463ACE08649D0FC35F163E20CC43089ADCA6
+        - 4B712C03EDA4CB88537EBAE4005A09006A9FB389
+        - 476700689419512EFB395F1A23ADA4E788EB7A90
+        - DA146E89F004E6185E87867C58B4AC836CBBD130
+        - 1D1BC1BDEEB7F3A86BB7ECCF6632585CDC7606E4
+        - CCAB0C6E6E190E3091E4290AFF7BA25E9E820989
+        - 2CA91CCBF55A49FCB303335DC553B426E3AC635C
+        - 1883F35475E9A4A12ED6396BC795E5D801DB74B3
+        - 71743A7A9E69529643FB49E2201DD99ECA4F72B2
+        - 213D30B9768BAE6EB7C1150155B4421347349E77
+        - 1F26985B869638BAA4FE40A80C07611AAF09B6A4
   - Name:            '.debug$S'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
-    SectionData:     04000000F500000064000000000000000000000020000000000000000400000000000000520000000600000004000000010000001F0000000000000004000000000000007F0000000500040000000000030000001D000000000000000400000000000000BD0000000300040000000000F10000007B000000320047110000000000000000000000002000000000000000000000000C100000000000000000004E533A3A466F6F3A3A466F6F000D003E1105100000010074686973001200451116000000FCFFFFFF0F000000000011000A003E1174000000010078001200451116000000080000000F0000000000110002004F1100F2000000200000000000000000000000200000001800000001000000140000000000000003000000
+    SectionData:     04000000F500000064000000000000000000000020000000000000000400000000000000440000000600000004000000010000001F000000000000000400000000000000710000000500040000000000030000001D000000000000000400000000000000AF0000000300040000000000F10000007B000000320047110000000000000000000000002000000000000000000000000C100000000000000000004E533A3A466F6F3A3A466F6F000D003E1105100000010074686973001200451116000000FCFFFFFF0F000000000011000A003E1174000000010078001200451116000000080000000F0000000000110002004F1100F2000000200000000000000000000000200000001800000001000000140000000000000004000000
     Subsections:
       - !FrameData
         Frames:
@@ -344,11 +376,31 @@ sections:
               Type:            4101
               Flags:           [ IsParameter ]
               VarName:         this
+          - Kind:            S_DEFRANGE_REGISTER_REL
+            DefRangeRegisterRelSym:
+              Register:        22
+              Flags:           0
+              BasePointerOffset: -4
+              Range:
+                OffsetStart:     15
+                ISectStart:      0
+                Range:           17
+              Gaps:
           - Kind:            S_LOCAL
             LocalSym:
               Type:            116
               Flags:           [ IsParameter ]
               VarName:         x
+          - Kind:            S_DEFRANGE_REGISTER_REL
+            DefRangeRegisterRelSym:
+              Register:        22
+              Flags:           0
+              BasePointerOffset: 8
+              Range:
+                OffsetStart:     15
+                ISectStart:      0
+                Range:           17
+              Gaps:
           - Kind:            S_PROC_ID_END
             ScopeEndSym:
       - !Lines
@@ -357,10 +409,10 @@ sections:
         RelocOffset:     0
         RelocSegment:    0
         Blocks:
-          - FileName:        'D:\src\llvmbuild\clang\Debug\x86\obj.h'
+          - FileName:        'C:\src\llvm-project\build\obj.h'
             Lines:
               - Offset:          0
-                LineStart:       3
+                LineStart:       4
                 IsStatement:     false
                 EndDelta:        0
             Columns:
@@ -403,7 +455,7 @@ symbols:
       Length:          65
       NumberOfRelocations: 2
       NumberOfLinenumbers: 0
-      CheckSum:        4176946275
+      CheckSum:        1827148029
       Number:          1
   - Name:            .data
     Value:           0
@@ -467,10 +519,10 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          832
+      Length:          820
       NumberOfRelocations: 11
       NumberOfLinenumbers: 0
-      CheckSum:        4106171226
+      CheckSum:        3821266521
       Number:          6
   - Name:            '.debug$S'
     Value:           0
@@ -482,7 +534,7 @@ symbols:
       Length:          284
       NumberOfRelocations: 9
       NumberOfLinenumbers: 0
-      CheckSum:        1378739251
+      CheckSum:        112499332
       Number:          4
       Selection:       IMAGE_COMDAT_SELECT_ASSOCIATIVE
   - Name:            '.debug$T'
@@ -492,10 +544,10 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          316
+      Length:          308
       NumberOfRelocations: 0
       NumberOfLinenumbers: 0
-      CheckSum:        3343977630
+      CheckSum:        2028313836
       Number:          7
   - Name:            '.debug$H'
     Value:           0
@@ -507,7 +559,7 @@ symbols:
       Length:          268
       NumberOfRelocations: 0
       NumberOfLinenumbers: 0
-      CheckSum:        3965031229
+      CheckSum:        1115012461
       Number:          8
   - Name:            '@feat.00'
     Value:           1

Modified: lld/trunk/test/COFF/Inputs/pdb-hashes-2-missing.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/pdb-hashes-2-missing.yaml?rev=332664&r1=332663&r2=332664&view=diff
==============================================================================
--- lld/trunk/test/COFF/Inputs/pdb-hashes-2-missing.yaml (original)
+++ lld/trunk/test/COFF/Inputs/pdb-hashes-2-missing.yaml Thu May 17 13:47:22 2018
@@ -22,7 +22,7 @@ sections:
   - Name:            '.debug$S'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
-    SectionData:     04000000F10000002F0000002D003C1101000000070006000000000000007017000000000000636C616E672076657273696F6E20362E302E30200000F5000000640000000000000000000000190000000000000004000000000000002B000000040000000400000001000000180000000000000004000000000000005800000003000400000000000300000016000000000000000400000000000000960000000100040000000000F1000000540000002E0047110000000000000000000000001900000000000000000000000D100000000000000000004E533A3A66756E63000A003E110310000001006600120045111600000008000000070000000000120002004F11F20000002800000000000000000000001900000000000000020000001C00000000000000030000000700000004000000F1000000100000000E0008110A1000004E533A3A466F6F00F40000001800000001000000100159DFAC75D18675AED1AD169FE316317E0000F3000000D400000000443A5C7372635C6C6C766D6275696C645C636C616E675C44656275675C7838365C6F626A322E63707000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200024543020246562702034202B203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200000
+    SectionData:     04000000F10000002F0000002D003C110100000007000700000000000000581B000000000000636C616E672076657273696F6E20372E302E30200000F500000064000000000000000000000019000000000000000400000000000000240000000400000004000000010000001800000000000000040000000000000051000000030004000000000003000000160000000000000004000000000000008F0000000100040000000000F1000000540000002E0047110000000000000000000000001900000000000000000000000D100000000000000000004E533A3A66756E63000A003E110310000001006600120045111600000008000000070000000000120002004F11F20000002800000000000000000000001900000000000000020000001C00000000000000040000000700000005000000F1000000100000000E0008110A1000004E533A3A466F6F00F400000018000000010000001001CEC8BDE31D126291115B63CE08A5D1360000F3000000CC00000000433A5C7372635C6C6C766D2D70726F6A6563745C6275696C645C6F626A322E63707000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200024543020246562702034202B203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D2000
     Subsections:
       - !Symbols
         Records:
@@ -30,15 +30,15 @@ sections:
             Compile3Sym:
               Flags:           [  ]
               Machine:         Pentium3
-              FrontendMajor:   6
+              FrontendMajor:   7
               FrontendMinor:   0
               FrontendBuild:   0
               FrontendQFE:     0
-              BackendMajor:    6000
+              BackendMajor:    7000
               BackendMinor:    0
               BackendBuild:    0
               BackendQFE:      0
-              Version:         'clang version 6.0.0 '
+              Version:         'clang version 7.0.0 '
       - !FrameData
         Frames:
           - CodeSize:        25
@@ -80,6 +80,16 @@ sections:
               Type:            4099
               Flags:           [ IsParameter ]
               VarName:         f
+          - Kind:            S_DEFRANGE_REGISTER_REL
+            DefRangeRegisterRelSym:
+              Register:        22
+              Flags:           0
+              BasePointerOffset: 8
+              Range:
+                OffsetStart:     7
+                ISectStart:      0
+                Range:           18
+              Gaps:
           - Kind:            S_PROC_ID_END
             ScopeEndSym:
       - !Lines
@@ -88,14 +98,14 @@ sections:
         RelocOffset:     0
         RelocSegment:    0
         Blocks:
-          - FileName:        'D:\src\llvmbuild\clang\Debug\x86\obj2.cpp'
+          - FileName:        'C:\src\llvm-project\build\obj2.cpp'
             Lines:
               - Offset:          0
-                LineStart:       3
+                LineStart:       4
                 IsStatement:     false
                 EndDelta:        0
               - Offset:          7
-                LineStart:       4
+                LineStart:       5
                 IsStatement:     false
                 EndDelta:        0
             Columns:
@@ -107,16 +117,15 @@ sections:
               UDTName:         'NS::Foo'
       - !FileChecksums
         Checksums:
-          - FileName:        'D:\src\llvmbuild\clang\Debug\x86\obj2.cpp'
+          - FileName:        'C:\src\llvm-project\build\obj2.cpp'
             Kind:            MD5
-            Checksum:        59DFAC75D18675AED1AD169FE316317E
+            Checksum:        CEC8BDE31D126291115B63CE08A5D136
       - !StringTable
         Strings:
-          - 'D:\src\llvmbuild\clang\Debug\x86\obj2.cpp'
+          - 'C:\src\llvm-project\build\obj2.cpp'
           - '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = '
           - '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
           - '$T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
-          - ''
     Relocations:
       - VirtualAddress:  68
         SymbolName:      '?func at NS@@YAHABUFoo at 1@@Z'
@@ -142,7 +151,7 @@ sections:
   - Name:            '.debug$T'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
-    SectionData:     040000000A000516000000004E5300F12A0005150000800200000000000000000000000000004E533A3A466F6F002E3F4155466F6F404E53404000F10A000110011000000100F2F10A000210021000002A8000000A00011201000000031000000E0008107400000000000100041000000A000210011000000A8000000A00011201000000740000001A0009100300000001100000061000000B00010007100000000000001A0003120D15030074000000000058001115030008100000466F6F002A0005150200000209100000000000000000000004004E533A3A466F6F002E3F4155466F6F404E53404000F12E00051600000000443A5C7372635C6C6C766D6275696C645C636C616E675C44656275675C7838365C6F626A2E6800F10E0006160A1000000B1000000200000012000116001000000510000066756E6300F3F2F1
+    SectionData:     040000000A000516000000004E5300F12A0005150000800200000000000000000000000000004E533A3A466F6F002E3F4155466F6F404E53404000F10A000110011000000100F2F10A000210021000002A8000000A00011201000000031000000E0008107400000000000100041000000A000210011000000A8000000A00011201000000740000001A0009100300000001100000061000000B00010007100000000000001A0003120D15030074000000000058001115030008100000466F6F002A0005150200000209100000000000000000000004004E533A3A466F6F002E3F4155466F6F404E53404000F12600051600000000433A5C7372635C6C6C766D2D70726F6A6563745C6275696C645C6F626A2E68000E0006160A1000000B1000000300000012000116001000000510000066756E6300F3F2F1
     Types:
       - Kind:            LF_STRING_ID
         StringId:
@@ -220,12 +229,12 @@ sections:
       - Kind:            LF_STRING_ID
         StringId:
           Id:              0
-          String:          'D:\src\llvmbuild\clang\Debug\x86\obj.h'
+          String:          'C:\src\llvm-project\build\obj.h'
       - Kind:            LF_UDT_SRC_LINE
         UdtSourceLine:
           UDT:             4106
           SourceFile:      4107
-          LineNumber:      2
+          LineNumber:      3
       - Kind:            LF_FUNC_ID
         FuncId:
           ParentScope:     4096
@@ -287,10 +296,10 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          584
+      Length:          576
       NumberOfRelocations: 7
       NumberOfLinenumbers: 0
-      CheckSum:        2847177244
+      CheckSum:        1275848292
       Number:          5
   - Name:            '.debug$T'
     Value:           0
@@ -299,10 +308,10 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          320
+      Length:          312
       NumberOfRelocations: 0
       NumberOfLinenumbers: 0
-      CheckSum:        2684556216
+      CheckSum:        3001708198
       Number:          6
   - Name:            '@feat.00'
     Value:           1

Modified: lld/trunk/test/COFF/Inputs/pdb-hashes-2.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/pdb-hashes-2.yaml?rev=332664&r1=332663&r2=332664&view=diff
==============================================================================
--- lld/trunk/test/COFF/Inputs/pdb-hashes-2.yaml (original)
+++ lld/trunk/test/COFF/Inputs/pdb-hashes-2.yaml Thu May 17 13:47:22 2018
@@ -22,7 +22,7 @@ sections:
   - Name:            '.debug$S'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
-    SectionData:     04000000F10000002F0000002D003C1101000000070006000000000000007017000000000000636C616E672076657273696F6E20362E302E30200000F5000000640000000000000000000000190000000000000004000000000000002B000000040000000400000001000000180000000000000004000000000000005800000003000400000000000300000016000000000000000400000000000000960000000100040000000000F1000000540000002E0047110000000000000000000000001900000000000000000000000D100000000000000000004E533A3A66756E63000A003E110310000001006600120045111600000008000000070000000000120002004F11F20000002800000000000000000000001900000000000000020000001C00000000000000030000000700000004000000F1000000100000000E0008110A1000004E533A3A466F6F00F40000001800000001000000100159DFAC75D18675AED1AD169FE316317E0000F3000000D400000000443A5C7372635C6C6C766D6275696C645C636C616E675C44656275675C7838365C6F626A322E63707000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200024543020246562702034202B203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200000
+    SectionData:     04000000F10000002F0000002D003C110100000007000700000000000000581B000000000000636C616E672076657273696F6E20372E302E30200000F500000064000000000000000000000019000000000000000400000000000000240000000400000004000000010000001800000000000000040000000000000051000000030004000000000003000000160000000000000004000000000000008F0000000100040000000000F1000000540000002E0047110000000000000000000000001900000000000000000000000D100000000000000000004E533A3A66756E63000A003E110310000001006600120045111600000008000000070000000000120002004F11F20000002800000000000000000000001900000000000000020000001C00000000000000040000000700000005000000F1000000100000000E0008110A1000004E533A3A466F6F00F400000018000000010000001001CEC8BDE31D126291115B63CE08A5D1360000F3000000CC00000000433A5C7372635C6C6C766D2D70726F6A6563745C6275696C645C6F626A322E63707000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2000245430202E7261536561726368203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D200024543020246562702034202B203D202465697020245430205E203D2024657370202454302034202B203D2024656270202454302034202D205E203D2000
     Subsections:
       - !Symbols
         Records:
@@ -30,15 +30,15 @@ sections:
             Compile3Sym:
               Flags:           [  ]
               Machine:         Pentium3
-              FrontendMajor:   6
+              FrontendMajor:   7
               FrontendMinor:   0
               FrontendBuild:   0
               FrontendQFE:     0
-              BackendMajor:    6000
+              BackendMajor:    7000
               BackendMinor:    0
               BackendBuild:    0
               BackendQFE:      0
-              Version:         'clang version 6.0.0 '
+              Version:         'clang version 7.0.0 '
       - !FrameData
         Frames:
           - CodeSize:        25
@@ -80,6 +80,16 @@ sections:
               Type:            4099
               Flags:           [ IsParameter ]
               VarName:         f
+          - Kind:            S_DEFRANGE_REGISTER_REL
+            DefRangeRegisterRelSym:
+              Register:        22
+              Flags:           0
+              BasePointerOffset: 8
+              Range:
+                OffsetStart:     7
+                ISectStart:      0
+                Range:           18
+              Gaps:
           - Kind:            S_PROC_ID_END
             ScopeEndSym:
       - !Lines
@@ -88,14 +98,14 @@ sections:
         RelocOffset:     0
         RelocSegment:    0
         Blocks:
-          - FileName:        'D:\src\llvmbuild\clang\Debug\x86\obj2.cpp'
+          - FileName:        'C:\src\llvm-project\build\obj2.cpp'
             Lines:
               - Offset:          0
-                LineStart:       3
+                LineStart:       4
                 IsStatement:     false
                 EndDelta:        0
               - Offset:          7
-                LineStart:       4
+                LineStart:       5
                 IsStatement:     false
                 EndDelta:        0
             Columns:
@@ -107,16 +117,15 @@ sections:
               UDTName:         'NS::Foo'
       - !FileChecksums
         Checksums:
-          - FileName:        'D:\src\llvmbuild\clang\Debug\x86\obj2.cpp'
+          - FileName:        'C:\src\llvm-project\build\obj2.cpp'
             Kind:            MD5
-            Checksum:        59DFAC75D18675AED1AD169FE316317E
+            Checksum:        CEC8BDE31D126291115B63CE08A5D136
       - !StringTable
         Strings:
-          - 'D:\src\llvmbuild\clang\Debug\x86\obj2.cpp'
+          - 'C:\src\llvm-project\build\obj2.cpp'
           - '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = '
           - '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
           - '$T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
-          - ''
     Relocations:
       - VirtualAddress:  68
         SymbolName:      '?func at NS@@YAHABUFoo at 1@@Z'
@@ -142,7 +151,7 @@ sections:
   - Name:            '.debug$T'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
-    SectionData:     040000000A000516000000004E5300F12A0005150000800200000000000000000000000000004E533A3A466F6F002E3F4155466F6F404E53404000F10A000110011000000100F2F10A000210021000002A8000000A00011201000000031000000E0008107400000000000100041000000A000210011000000A8000000A00011201000000740000001A0009100300000001100000061000000B00010007100000000000001A0003120D15030074000000000058001115030008100000466F6F002A0005150200000209100000000000000000000004004E533A3A466F6F002E3F4155466F6F404E53404000F12E00051600000000443A5C7372635C6C6C766D6275696C645C636C616E675C44656275675C7838365C6F626A2E6800F10E0006160A1000000B1000000200000012000116001000000510000066756E6300F3F2F1
+    SectionData:     040000000A000516000000004E5300F12A0005150000800200000000000000000000000000004E533A3A466F6F002E3F4155466F6F404E53404000F10A000110011000000100F2F10A000210021000002A8000000A00011201000000031000000E0008107400000000000100041000000A000210011000000A8000000A00011201000000740000001A0009100300000001100000061000000B00010007100000000000001A0003120D15030074000000000058001115030008100000466F6F002A0005150200000209100000000000000000000004004E533A3A466F6F002E3F4155466F6F404E53404000F12600051600000000433A5C7372635C6C6C766D2D70726F6A6563745C6275696C645C6F626A2E68000E0006160A1000000B1000000300000012000116001000000510000066756E6300F3F2F1
     Types:
       - Kind:            LF_STRING_ID
         StringId:
@@ -220,12 +229,12 @@ sections:
       - Kind:            LF_STRING_ID
         StringId:
           Id:              0
-          String:          'D:\src\llvmbuild\clang\Debug\x86\obj.h'
+          String:          'C:\src\llvm-project\build\obj.h'
       - Kind:            LF_UDT_SRC_LINE
         UdtSourceLine:
           UDT:             4106
           SourceFile:      4107
-          LineNumber:      2
+          LineNumber:      3
       - Kind:            LF_FUNC_ID
         FuncId:
           ParentScope:     4096
@@ -234,25 +243,25 @@ sections:
   - Name:            '.debug$H'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
-    SectionData:     C5C9330100000000EC145CD76AEFE74E78880D531132B3BB8FFACEF79E616EF06A14EA74A2420F9062A1FB04917E59759949E334BA18509ED692F3C65CE242D8450EBC78B81B63AF8316DC324562EB9F0D4A0D708E8A25C263DB05943C19B84A36719E1E414DDA3EDBDF005322238D70F9058EEDC5C50EF11BC849618B51FD89E3A50EABE5E8FE3945468547C19DC681D0BFB3B797DD91CA4D7F1953C314442D5549419E78044E38A0BF16BFFAA5EE9C0103E7DBFE9941E63379C0B0C0A9021B711ACC4F67008974EBF441031BDD653F6935DFF3112C6A5346EF2AC94B9B7EB56EF55CFA0AF6C1846743F43D846BB19517E12E8873BBA90CC41DD1BEAC89CBA8897AC1BA46762E2557A82D89DCBC783AF285D9DBB672F67A81E36906B2038B57
+    SectionData:     C5C9330100000000D6242F1ED02B98E973DCA3334A061540B751965F476700689419512EFB395F1A23ADA4E788EB7A90DC6D1D00D355FEFEDDE4C68641D053622767E1526FD137C1525BDF80D746B3B9C314372C738054FC95D47092AC4D20BAC80E167B185331D42B388FB966A52D778FFF3829DC925A33C5CA6DD9A3EBA965DA146E89F004E6185E87867C58B4AC836CBBD1301D1BC1BDEEB7F3A86BB7ECCF6632585CDC7606E4CCAB0C6E6E190E3091E4290AFF7BA25E9E8209892CA91CCBF55A49FCB303335DC553B426E3AC635C1883F35475E9A4A12ED6396BC795E5D801DB74B371743A7A9E69529643FB49E2201DD99ECA4F72B2213D30B9768BAE6EB7C1150155B4421347349E77B1F380BB197127A54D0DB470E57DF96B15066C78
     GlobalHashes:
       Version:         0
       HashAlgorithm:   0
       HashValues:
-        - EC145CD76AEFE74E78880D531132B3BB8FFACEF7
-        - 9E616EF06A14EA74A2420F9062A1FB04917E5975
-        - 9949E334BA18509ED692F3C65CE242D8450EBC78
-        - B81B63AF8316DC324562EB9F0D4A0D708E8A25C2
-        - 63DB05943C19B84A36719E1E414DDA3EDBDF0053
-        - 22238D70F9058EEDC5C50EF11BC849618B51FD89
-        - E3A50EABE5E8FE3945468547C19DC681D0BFB3B7
-        - 97DD91CA4D7F1953C314442D5549419E78044E38
-        - A0BF16BFFAA5EE9C0103E7DBFE9941E63379C0B0
-        - C0A9021B711ACC4F67008974EBF441031BDD653F
-        - 6935DFF3112C6A5346EF2AC94B9B7EB56EF55CFA
-        - 0AF6C1846743F43D846BB19517E12E8873BBA90C
-        - C41DD1BEAC89CBA8897AC1BA46762E2557A82D89
-        - DCBC783AF285D9DBB672F67A81E36906B2038B57
+        - D6242F1ED02B98E973DCA3334A061540B751965F
+        - 476700689419512EFB395F1A23ADA4E788EB7A90
+        - DC6D1D00D355FEFEDDE4C68641D053622767E152
+        - 6FD137C1525BDF80D746B3B9C314372C738054FC
+        - 95D47092AC4D20BAC80E167B185331D42B388FB9
+        - 66A52D778FFF3829DC925A33C5CA6DD9A3EBA965
+        - DA146E89F004E6185E87867C58B4AC836CBBD130
+        - 1D1BC1BDEEB7F3A86BB7ECCF6632585CDC7606E4
+        - CCAB0C6E6E190E3091E4290AFF7BA25E9E820989
+        - 2CA91CCBF55A49FCB303335DC553B426E3AC635C
+        - 1883F35475E9A4A12ED6396BC795E5D801DB74B3
+        - 71743A7A9E69529643FB49E2201DD99ECA4F72B2
+        - 213D30B9768BAE6EB7C1150155B4421347349E77
+        - B1F380BB197127A54D0DB470E57DF96B15066C78
 symbols:
   - Name:            .text
     Value:           0
@@ -309,10 +318,10 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          584
+      Length:          576
       NumberOfRelocations: 7
       NumberOfLinenumbers: 0
-      CheckSum:        2847177244
+      CheckSum:        1275848292
       Number:          5
   - Name:            '.debug$T'
     Value:           0
@@ -321,10 +330,10 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          320
+      Length:          312
       NumberOfRelocations: 0
       NumberOfLinenumbers: 0
-      CheckSum:        2684556216
+      CheckSum:        3001708198
       Number:          6
   - Name:            '.debug$H'
     Value:           0
@@ -336,7 +345,7 @@ symbols:
       Length:          288
       NumberOfRelocations: 0
       NumberOfLinenumbers: 0
-      CheckSum:        2348181452
+      CheckSum:        3809286526
       Number:          7
   - Name:            '@feat.00'
     Value:           1

Modified: lld/trunk/test/COFF/pdb-global-hashes.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-global-hashes.test?rev=332664&r1=332663&r2=332664&view=diff
==============================================================================
--- lld/trunk/test/COFF/pdb-global-hashes.test (original)
+++ lld/trunk/test/COFF/pdb-global-hashes.test Thu May 17 13:47:22 2018
@@ -83,9 +83,9 @@ CHECK-NEXT: ============================
 CHECK-NEXT:   Showing 6 records
 CHECK-NEXT:   0x1000 | LF_FUNC_ID [size = 20]
 CHECK-NEXT:            name = main, type = 0x1002, parent scope = <no type>
-CHECK-NEXT:   0x1001 | LF_STRING_ID [size = 48] ID: <no type>, String: D:\src\llvmbuild\clang\Debug\x86\obj.h
+CHECK-NEXT:   0x1001 | LF_STRING_ID [size = {{.*}}] ID: <no type>, String: {{.*}}obj.h
 CHECK-NEXT:   0x1002 | LF_UDT_SRC_LINE [size = 16]
-CHECK-NEXT:            udt = 0x1008, file = 4097, line = 2
+CHECK-NEXT:            udt = 0x1008, file = 4097, line = 3
 CHECK-NEXT:   0x1003 | LF_MFUNC_ID [size = 16]
 CHECK-NEXT:            name = Foo, type = 0x1006, class type = 0x1003
 CHECK-NEXT:   0x1004 | LF_STRING_ID [size = 12] ID: <no type>, String: NS




More information about the llvm-commits mailing list