Re-land "[PDB] Merge types in parallel when using ghashing"
[lldb.git] / lld / test / COFF / pdb-type-server-missing.yaml
1 # This is an object compiled with /Zi (see the LF_TYPESERVER2 record) without an
2 # adjacent type server PDB. Test that LLD fails gracefully on it.
3 # Also try linking another OBJ with a reference to the same PDB
4
5 # RUN: yaml2obj %s -o %t1.obj
6 # RUN: yaml2obj %p/Inputs/pdb-type-server-missing-2.yaml -o %t2.obj
7 # RUN: lld-link %t1.obj %t2.obj -out:%t.exe -debug -pdb:%t.pdb -nodefaultlib -entry:main 2>&1 | FileCheck %s -check-prefix=WARN
8 # RUN: lld-link %t1.obj %t2.obj -out:%t.exe -debug:ghash -pdb:%t.pdb -nodefaultlib -entry:main 2>&1 | FileCheck %s -check-prefix=WARN
9 # RUN: lld-link %t1.obj %t2.obj -out:%t.exe -debug -pdb:%t.pdb -nodefaultlib -entry:main /ignore:4099 2>&1 | FileCheck %s -check-prefix=IGNORE -allow-empty
10 # RUN: not lld-link %t1.obj %t2.obj -out:%t.exe -debug -pdb:%t.pdb -nodefaultlib -entry:main /WX 2>&1 | FileCheck %s -check-prefix=ERR
11 # RUN: lld-link %t1.obj %t2.obj -out:%t.exe -debug -pdb:%t.pdb -nodefaultlib -entry:main /ignore:4099 /WX 2>&1 | FileCheck %s -check-prefix=IGNORE-ERR -allow-empty
12
13 # WARN: warning: Cannot use debug info for '{{.*}}.obj' [LNK4099]
14 # WARN-NEXT: {{N|n}}o such file or directory
15
16 # IGNORE-NOT: warning: Cannot use debug info for '{{.*}}.obj' [LNK4099]
17 # IGNORE-NOT: {{N|n}}o such file or directory
18
19 # ERR: error: Cannot use debug info for '{{.*}}.obj' [LNK4099]
20 # ERR-NEXT: {{N|n}}o such file or directory
21
22 # IGNORE-ERR-NOT: error: Cannot use debug info for '{{.*}}.obj' [LNK4099]
23 # IGNORE-ERR-NOT: {{N|n}}o such file or directory
24
25 --- !COFF
26 header:
27   Machine:         IMAGE_FILE_MACHINE_AMD64
28   Characteristics: [  ]
29 sections:
30   - Name:            '.debug$S'
31     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
32     Alignment:       1
33     Subsections:
34       - !Symbols
35         Records:
36           - Kind:            S_GPROC32_ID
37             ProcSym:
38               CodeSize:        3
39               DbgStart:        0
40               DbgEnd:          2
41               FunctionType:    4199
42               Flags:           [  ]
43               DisplayName:     main
44           - Kind:            S_FRAMEPROC
45             FrameProcSym:
46               TotalFrameBytes: 0
47               PaddingFrameBytes: 0
48               OffsetToPadding: 0
49               BytesOfCalleeSavedRegisters: 0
50               OffsetOfExceptionHandler: 0
51               SectionIdOfExceptionHandler: 0
52               Flags:           [ AsynchronousExceptionHandling, OptimizedForSpeed ]
53           - Kind:            S_PROC_ID_END
54             ScopeEndSym:
55       - !Lines
56         CodeSize:        3
57         Flags:           [  ]
58         RelocOffset:     0
59         RelocSegment:    0
60         Blocks:
61           - FileName:        'c:\src\llvm-project\build\t.c'
62             Lines:
63               - Offset:          0
64                 LineStart:       1
65                 IsStatement:     true
66                 EndDelta:        0
67             Columns:
68       - !FileChecksums
69         Checksums:
70           - FileName:        'c:\src\llvm-project\build\t.c'
71             Kind:            MD5
72             Checksum:        270A878DCC1B845655B162F56C4F5020
73       - !StringTable
74         Strings:
75           - 'c:\src\llvm-project\build\t.c'
76     Relocations:
77       - VirtualAddress:  44
78         SymbolName:      main
79         Type:            IMAGE_REL_AMD64_SECREL
80       - VirtualAddress:  48
81         SymbolName:      main
82         Type:            IMAGE_REL_AMD64_SECTION
83       - VirtualAddress:  100
84         SymbolName:      main
85         Type:            IMAGE_REL_AMD64_SECREL
86       - VirtualAddress:  104
87         SymbolName:      main
88         Type:            IMAGE_REL_AMD64_SECTION
89   - Name:            '.debug$T'
90     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
91     Alignment:       1
92     Types:
93       - Kind:            LF_TYPESERVER2
94         TypeServer2:
95           Guid:            '{01DF191B-22BF-6B42-96CE-5258B8329FE5}'
96           Age:             18
97           Name:            'C:\src\llvm-project\build\definitely_not_found_for_sure.pdb'
98   - Name:            '.text$mn'
99     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
100     Alignment:       16
101     SectionData:     33C0C3
102 symbols:
103   - Name:            '.debug$S'
104     Value:           0
105     SectionNumber:   1
106     SimpleType:      IMAGE_SYM_TYPE_NULL
107     ComplexType:     IMAGE_SYM_DTYPE_NULL
108     StorageClass:    IMAGE_SYM_CLASS_STATIC
109     SectionDefinition:
110       Length:          328
111       NumberOfRelocations: 4
112       NumberOfLinenumbers: 0
113       CheckSum:        0
114       Number:          0
115   - Name:            '.debug$T'
116     Value:           0
117     SectionNumber:   2
118     SimpleType:      IMAGE_SYM_TYPE_NULL
119     ComplexType:     IMAGE_SYM_DTYPE_NULL
120     StorageClass:    IMAGE_SYM_CLASS_STATIC
121     SectionDefinition:
122       Length:          564
123       NumberOfRelocations: 0
124       NumberOfLinenumbers: 0
125       CheckSum:        0
126       Number:          0
127   - Name:            '.text$mn'
128     Value:           0
129     SectionNumber:   3
130     SimpleType:      IMAGE_SYM_TYPE_NULL
131     ComplexType:     IMAGE_SYM_DTYPE_NULL
132     StorageClass:    IMAGE_SYM_CLASS_STATIC
133     SectionDefinition:
134       Length:          3
135       NumberOfRelocations: 0
136       NumberOfLinenumbers: 0
137       CheckSum:        4021952397
138       Number:          0
139   - Name:            main
140     Value:           0
141     SectionNumber:   3
142     SimpleType:      IMAGE_SYM_TYPE_NULL
143     ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
144     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
145 ...