llvm-project

Форк
0
262 строки · 8.6 Кб
1
# RUN: yaml2obj %s -o %t.obj
2

3
# RUN: rm -f %t.dll %t.pdb
4
# RUN: lld-link /debug /pdbaltpath:test.pdb /dll /out:%t.dll /entry:DllMain %t.obj
5
# RUN: llvm-readobj --coff-debug-directory %t.dll > %t.1.txt
6
# RUN: lld-link /debug /pdbaltpath:test.pdb /dll /out:%t.dll /entry:DllMain %t.obj
7
# RUN: llvm-readobj --coff-debug-directory %t.dll > %t.2.txt
8
# RUN: cat %t.1.txt %t.2.txt | FileCheck %s
9

10
# RUN: rm -f %t.dll %t.pdb
11
# RUN: lld-link /debug /pdb:%t1.pdb /dll /out:%t.dll /entry:DllMain %t.obj
12
# RUN: llvm-readobj --coff-debug-directory %t.dll > %t.3.txt
13
# RUN: lld-link /debug /pdb:%t2.pdb /dll /out:%t.dll /entry:DllMain %t.obj
14
# RUN: llvm-readobj --coff-debug-directory %t.dll > %t.4.txt
15
# RUN: cat %t.3.txt %t.4.txt | FileCheck --check-prefix TWOPDBS %s
16

17
# RUN: rm -f %t.dll %t.pdb
18
# RUN: lld-link /Brepro /dll /out:%t.dll /entry:DllMain %t.obj
19
# RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix REPRO %s
20

21
# RUN: rm -f %t.dll %t.pdb
22
# RUN: lld-link /Brepro /debug /dll /out:%t.dll /entry:DllMain %t.obj
23
# RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix REPRODEBUG %s
24

25
# Generate .buildid section using binary hash under /lldmingw and /build-id
26
# RUN: rm -f %t.dll %t.pdb
27
# RUN: lld-link /lldmingw /build-id /dll /out:%t.dll /entry:DllMain %t.obj
28
# RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix BUILDID %s
29

30
# Generate debug directory with use binary hash when /build-id is given and not 
31
# generating PDB.
32
# RUN: rm -f %t.dll %t.pdb
33
# RUN: lld-link /build-id /dll /out:%t.dll /entry:DllMain %t.obj
34
# RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix BUILDID %s
35

36
# If generate PDB, PDB hash is used and /build-id is ignored.
37
# RUN: rm -f %t.dll %t.pdb
38
# RUN: lld-link /build-id /debug /pdbaltpath:test.pdb /dll /out:%t.dll /entry:DllMain %t.obj
39
# RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix BUILDID %s
40

41
# Do not generate .buildid section under /build-id:no
42
# RUN: rm -f %t.dll %t.pdb
43
# RUN: lld-link /build-id:no /dll /out:%t.dll /entry:DllMain %t.obj
44
# RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix NO_BUILDID %s
45

46
# RUN: rm -f %t.dll %t.pdb
47
# RUN: lld-link /dll /out:%t.dll /entry:DllMain %t.obj
48
# RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix NO_BUILDID %s
49

50
# CHECK: File: [[FILE:.*]].dll
51
# CHECK: DebugDirectory [
52
# CHECK:   DebugEntry {
53
# CHECK:     Characteristics: 0x0
54
# CHECK:     TimeDateStamp: 
55
# CHECK:     MajorVersion: 0x0
56
# CHECK:     MinorVersion: 0x0
57
# CHECK:     Type: CodeView (0x2)
58
# CHECK:     SizeOfData: 0x{{[^0]}}
59
# CHECK:     AddressOfRawData: 0x{{[^0]}}
60
# CHECK:     PointerToRawData: 0x{{[^0]}}
61
# CHECK:     PDBInfo {
62
# CHECK:       PDBSignature: 0x53445352
63
# CHECK:       PDBGUID: [[GUID:\{[A-Za-z0-9\-]{36}\}]]
64
# CHECK:       PDBAge: 1
65
# CHECK:       PDBFileName: {{.*}}.pdb
66
# CHECK:     }
67
# CHECK:   }
68
# CHECK: ]
69
# CHECK: File: [[FILE]].dll
70
# CHECK: DebugDirectory [
71
# CHECK:   DebugEntry {
72
# CHECK:     Characteristics: 0x0
73
# CHECK:     TimeDateStamp: 
74
# CHECK:     MajorVersion: 0x0
75
# CHECK:     MinorVersion: 0x0
76
# CHECK:     Type: CodeView (0x2)
77
# CHECK:     SizeOfData: 0x{{[^0]}}
78
# CHECK:     AddressOfRawData: 0x{{[^0]}}
79
# CHECK:     PointerToRawData: 0x{{[^0]}}
80
# CHECK:     PDBInfo {
81
# CHECK:       PDBSignature: 0x53445352
82
# CHECK:       PDBGUID: [[GUID]]
83
# CHECK:       PDBAge: 1
84
# CHECK:       PDBFileName: {{.*}}.pdb
85
# CHECK:     }
86
# CHECK:   }
87
# CHECK: ]
88

89
# TWOPDBS: File: [[FILE:.*]].dll
90
# TWOPDBS: DebugDirectory [
91
# TWOPDBS:   DebugEntry {
92
# TWOPDBS:     Characteristics: 0x0
93
# TWOPDBS:     TimeDateStamp: 
94
# TWOPDBS:     MajorVersion: 0x0
95
# TWOPDBS:     MinorVersion: 0x0
96
# TWOPDBS:     Type: CodeView (0x2)
97
# TWOPDBS:     SizeOfData: 0x{{[^0]}}
98
# TWOPDBS:     AddressOfRawData: 0x{{[^0]}}
99
# TWOPDBS:     PointerToRawData: 0x{{[^0]}}
100
# TWOPDBS:     PDBInfo {
101
# TWOPDBS:       PDBSignature: 0x53445352
102
# TWOPDBS:       PDBGUID: [[GUID:\{[A-Za-z0-9\-]{36}\}]]
103
# TWOPDBS:       PDBAge: 1
104
# TWOPDBS:       PDBFileName: {{.*}}.pdb
105
# TWOPDBS:     }
106
# TWOPDBS:   }
107
# TWOPDBS: ]
108
# TWOPDBS: File: [[FILE]].dll
109
# TWOPDBS: DebugDirectory [
110
# TWOPDBS:   DebugEntry {
111
# TWOPDBS:     Characteristics: 0x0
112
# TWOPDBS:     TimeDateStamp: 
113
# TWOPDBS:     MajorVersion: 0x0
114
# TWOPDBS:     MinorVersion: 0x0
115
# TWOPDBS:     Type: CodeView (0x2)
116
# TWOPDBS:     SizeOfData: 0x{{[^0]}}
117
# TWOPDBS:     AddressOfRawData: 0x{{[^0]}}
118
# TWOPDBS:     PointerToRawData: 0x{{[^0]}}
119
# TWOPDBS:     PDBInfo {
120
# TWOPDBS:       PDBSignature: 0x53445352
121
# TWOPDBS-NOT:       PDBGUID: [[GUID]]
122
# TWOPDBS:       PDBAge: 1
123
# TWOPDBS:       PDBFileName: {{.*}}.pdb
124
# TWOPDBS:     }
125
# TWOPDBS:   }
126
# TWOPDBS: ]
127

128
# REPRO: File: {{.*}}.dll
129
# REPRO: DebugDirectory [
130
# REPRO:   DebugEntry {
131
# REPRO:     Characteristics: 0x0
132
# REPRO:     TimeDateStamp: 
133
# REPRO:     MajorVersion: 0x0
134
# REPRO:     MinorVersion: 0x0
135
# REPRO:     Type: Repro (0x10)
136
# REPRO:     SizeOfData: 0x0
137
# REPRO:     AddressOfRawData: 0x0
138
# REPRO:     PointerToRawData: 0x0
139
# REPRO:   }
140
# REPRO: ]
141

142
# REPRODEBUG: File: {{.*}}.dll
143
# REPRODEBUG: DebugDirectory [
144
# REPRODEBUG:   DebugEntry {
145
# REPRODEBUG:     Characteristics: 0x0
146
# REPRODEBUG:     TimeDateStamp: 
147
# REPRODEBUG:     MajorVersion: 0x0
148
# REPRODEBUG:     MinorVersion: 0x0
149
# REPRODEBUG:     Type: CodeView (0x2)
150
# REPRODEBUG:     SizeOfData: 0x{{[^0]}}
151
# REPRODEBUG:     AddressOfRawData: 0x{{[^0]}}
152
# REPRODEBUG:     PointerToRawData: 0x{{[^0]}}
153
# REPRODEBUG:     PDBInfo {
154
# REPRODEBUG:       PDBSignature: 0x53445352
155
# REPRODEBUG:       PDBGUID: 
156
# REPRODEBUG:       PDBAge: 1
157
# REPRODEBUG:       PDBFileName:
158
# REPRODEBUG:     }
159
# REPRODEBUG:   }
160
# REPRODEBUG:   DebugEntry {
161
# REPRODEBUG:     Characteristics: 0x0
162
# REPRODEBUG:     TimeDateStamp: 
163
# REPRODEBUG:     MajorVersion: 0x0
164
# REPRODEBUG:     MinorVersion: 0x0
165
# REPRODEBUG:     Type: Repro (0x10)
166
# REPRODEBUG:     SizeOfData: 0x0
167
# REPRODEBUG:     AddressOfRawData: 0x0
168
# REPRODEBUG:     PointerToRawData: 0x0
169
# REPRODEBUG:   }
170
# REPRODEBUG: ]
171

172
# BUILDID: File: {{.*}}.dll
173
# BUILDID: DebugDirectory [
174
# BUILDID:   DebugEntry {
175
# BUILDID:     Characteristics: 0x0
176
# BUILDID:     TimeDateStamp:
177
# BUILDID:     MajorVersion: 0x0
178
# BUILDID:     MinorVersion: 0x0
179
# BUILDID:     Type: CodeView (0x2)
180
# BUILDID:     SizeOfData: 0x{{[^0]}}
181
# BUILDID:     AddressOfRawData: 0x{{[^0]}}
182
# BUILDID:     PointerToRawData: 0x{{[^0]}}
183
# BUILDID:     PDBInfo {
184
# BUILDID:       PDBSignature: 0x53445352
185
# BUILDID:       PDBGUID: [[GUID:\{[A-Za-z0-9\-]{36}\}]]
186
# BUILDID:       PDBAge: 1
187
# BUILDID:       PDBFileName:
188
# BUILDID:     }
189
# BUILDID:   }
190
# BUILDID: ]
191

192
# NO_BUILDID:      DebugDirectory [
193
# NO_BUILDID-NEXT: ]
194

195
# BUILDID_SEC: Name: .buildid
196
--- !COFF
197
header:
198
  Machine:         IMAGE_FILE_MACHINE_I386
199
  Characteristics: [  ]
200
sections:
201
  - Name:            .text
202
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
203
    Alignment:       4
204
    SectionData:     31C0C3
205
  - Name:            .data
206
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
207
    Alignment:       4
208
    SectionData:     ''
209
  - Name:            .bss
210
    Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
211
    Alignment:       4
212
    SectionData:     ''
213
symbols:
214
  - Name:            .text
215
    Value:           0
216
    SectionNumber:   1
217
    SimpleType:      IMAGE_SYM_TYPE_NULL
218
    ComplexType:     IMAGE_SYM_DTYPE_NULL
219
    StorageClass:    IMAGE_SYM_CLASS_STATIC
220
    SectionDefinition:
221
      Length:          3
222
      NumberOfRelocations: 0
223
      NumberOfLinenumbers: 0
224
      CheckSum:        3963538403
225
      Number:          1
226
  - Name:            .data
227
    Value:           0
228
    SectionNumber:   2
229
    SimpleType:      IMAGE_SYM_TYPE_NULL
230
    ComplexType:     IMAGE_SYM_DTYPE_NULL
231
    StorageClass:    IMAGE_SYM_CLASS_STATIC
232
    SectionDefinition:
233
      Length:          0
234
      NumberOfRelocations: 0
235
      NumberOfLinenumbers: 0
236
      CheckSum:        0
237
      Number:          2
238
  - Name:            .bss
239
    Value:           0
240
    SectionNumber:   3
241
    SimpleType:      IMAGE_SYM_TYPE_NULL
242
    ComplexType:     IMAGE_SYM_DTYPE_NULL
243
    StorageClass:    IMAGE_SYM_CLASS_STATIC
244
    SectionDefinition:
245
      Length:          0
246
      NumberOfRelocations: 0
247
      NumberOfLinenumbers: 0
248
      CheckSum:        0
249
      Number:          3
250
  - Name:            '@feat.00'
251
    Value:           1
252
    SectionNumber:   -1
253
    SimpleType:      IMAGE_SYM_TYPE_NULL
254
    ComplexType:     IMAGE_SYM_DTYPE_NULL
255
    StorageClass:    IMAGE_SYM_CLASS_STATIC
256
  - Name:            _DllMain
257
    Value:           0
258
    SectionNumber:   1
259
    SimpleType:      IMAGE_SYM_TYPE_NULL
260
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
261
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
262
...
263

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.