1 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \
2 RUN: | FileCheck %s -check-prefix MFUN32
3 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \
4 RUN: | FileCheck %s -check-prefix MFUN64
5 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
6 RUN: | FileCheck %s -check-prefix MFILE32
7 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
8 RUN: | FileCheck %s -check-prefix MFILE64
10 MFUN32: CodeViewLineTables [
11 MFUN32-NEXT: Magic: 0x4
12 MFUN32-NEXT: Subsection [
13 MFUN32-NEXT: Type: 0xF1
14 MFUN32-NEXT: PayloadSize: 0x52
16 MFUN32-NEXT: Subsection [
17 MFUN32-NEXT: Type: 0xF5
18 MFUN32-NEXT: PayloadSize: 0x24
20 MFUN32-NEXT: Subsection [
21 MFUN32-NEXT: Type: 0xF1
22 MFUN32-NEXT: PayloadSize: 0x4B
24 MFUN32-NEXT: Subsection [
25 MFUN32-NEXT: Type: 0xF2
26 MFUN32-NEXT: PayloadSize: 0x30
27 MFUN32: FunctionName: _x
29 MFUN32-NEXT: Subsection [
30 MFUN32-NEXT: Type: 0xF5
31 MFUN32-NEXT: PayloadSize: 0x24
33 MFUN32-NEXT: Subsection [
34 MFUN32-NEXT: Type: 0xF1
35 MFUN32-NEXT: PayloadSize: 0x4B
37 MFUN32-NEXT: Subsection [
38 MFUN32-NEXT: Type: 0xF2
39 MFUN32-NEXT: PayloadSize: 0x30
40 MFUN32: FunctionName: _y
42 MFUN32-NEXT: Subsection [
43 MFUN32-NEXT: Type: 0xF5
44 MFUN32-NEXT: PayloadSize: 0x24
46 MFUN32-NEXT: Subsection [
47 MFUN32-NEXT: Type: 0xF1
48 MFUN32-NEXT: PayloadSize: 0x4B
50 MFUN32-NEXT: Subsection [
51 MFUN32-NEXT: Type: 0xF2
52 MFUN32-NEXT: PayloadSize: 0x40
53 MFUN32: FunctionName: _f
55 MFUN32-NEXT: Subsection [
56 MFUN32-NEXT: Type: 0xF4
57 MFUN32-NEXT: PayloadSize: 0x18
59 MFUN32-NEXT: Subsection [
60 MFUN32-NEXT: Type: 0xF3
61 MFUN32-NEXT: PayloadSize: 0x46
63 MFUN32-NEXT: Subsection [
64 MFUN32-NEXT: Type: 0xF1
65 MFUN32-NEXT: PayloadSize: 0x8
67 MFUN32-NEXT: FunctionLineTable [
68 MFUN32-NEXT: FunctionName: _x
69 MFUN32-NEXT: CodeSize: 0xA
70 MFUN32-NEXT: FilenameSegment [
71 MFUN32-NEXT: Filename: d:\source.c
77 MFUN32-NEXT: FunctionLineTable [
78 MFUN32-NEXT: FunctionName: _y
79 MFUN32-NEXT: CodeSize: 0xA
80 MFUN32-NEXT: FilenameSegment [
81 MFUN32-NEXT: Filename: d:\source.c
87 MFUN32-NEXT: FunctionLineTable [
88 MFUN32-NEXT: FunctionName: _f
89 MFUN32-NEXT: CodeSize: 0x14
90 MFUN32-NEXT: FilenameSegment [
91 MFUN32-NEXT: Filename: d:\source.c
96 MFUN32-NEXT: +0x12: 15
101 MFUN64: CodeViewLineTables [
102 MFUN64-NEXT: Magic: 0x4
103 MFUN64-NEXT: Subsection [
104 MFUN64-NEXT: Type: 0xF1
105 MFUN64-NEXT: PayloadSize: 0x52
107 MFUN64-NEXT: Subsection [
108 MFUN64-NEXT: Type: 0xF1
109 MFUN64-NEXT: PayloadSize: 0x4B
111 MFUN64-NEXT: Subsection [
112 MFUN64-NEXT: Type: 0xF2
113 MFUN64-NEXT: PayloadSize: 0x30
114 MFUN64: FunctionName: x
116 MFUN64-NEXT: Subsection [
117 MFUN64-NEXT: Type: 0xF1
118 MFUN64-NEXT: PayloadSize: 0x4B
120 MFUN64-NEXT: Subsection [
121 MFUN64-NEXT: Type: 0xF2
122 MFUN64-NEXT: PayloadSize: 0x30
123 MFUN64: FunctionName: y
125 MFUN64-NEXT: Subsection [
126 MFUN64-NEXT: Type: 0xF1
127 MFUN64-NEXT: PayloadSize: 0x4B
129 MFUN64-NEXT: Subsection [
130 MFUN64-NEXT: Type: 0xF2
131 MFUN64-NEXT: PayloadSize: 0x40
132 MFUN64: FunctionName: f
134 MFUN64-NEXT: Subsection [
135 MFUN64-NEXT: Type: 0xF4
136 MFUN64-NEXT: PayloadSize: 0x18
138 MFUN64-NEXT: Subsection [
139 MFUN64-NEXT: Type: 0xF3
140 MFUN64-NEXT: PayloadSize: 0xD
142 MFUN64-NEXT: Subsection [
143 MFUN64-NEXT: Type: 0xF1
144 MFUN64-NEXT: PayloadSize: 0x8
146 MFUN64-NEXT: FunctionLineTable [
147 MFUN64-NEXT: FunctionName: x
148 MFUN64-NEXT: CodeSize: 0xE
149 MFUN64-NEXT: FilenameSegment [
150 MFUN64-NEXT: Filename: d:\source.c
156 MFUN64-NEXT: FunctionLineTable [
157 MFUN64-NEXT: FunctionName: y
158 MFUN64-NEXT: CodeSize: 0xE
159 MFUN64-NEXT: FilenameSegment [
160 MFUN64-NEXT: Filename: d:\source.c
166 MFUN64-NEXT: FunctionLineTable [
167 MFUN64-NEXT: FunctionName: f
168 MFUN64-NEXT: CodeSize: 0x18
169 MFUN64-NEXT: FilenameSegment [
170 MFUN64-NEXT: Filename: d:\source.c
171 MFUN64-NEXT: +0x0: 11
172 MFUN64-NEXT: +0x4: 12
173 MFUN64-NEXT: +0x9: 13
174 MFUN64-NEXT: +0xE: 14
175 MFUN64-NEXT: +0x13: 15
180 MFILE32: CodeViewLineTables [
181 MFILE32-NEXT: Magic: 0x4
182 MFILE32-NEXT: Subsection [
183 MFILE32-NEXT: Type: 0xF1
184 MFILE32-NEXT: PayloadSize: 0x51
186 MFILE32-NEXT: Subsection [
187 MFILE32-NEXT: Type: 0xF5
188 MFILE32-NEXT: PayloadSize: 0x24
190 MFILE32-NEXT: Subsection [
191 MFILE32-NEXT: Type: 0xF1
192 MFILE32-NEXT: PayloadSize: 0x4B
194 MFILE32-NEXT: Subsection [
195 MFILE32-NEXT: Type: 0xF2
196 MFILE32-NEXT: PayloadSize: 0x64
197 MFILE32: FunctionName: _f
199 MFILE32-NEXT: Subsection [
200 MFILE32-NEXT: Type: 0xF4
201 MFILE32-NEXT: PayloadSize: 0x28
203 MFILE32-NEXT: Subsection [
204 MFILE32-NEXT: Type: 0xF3
205 MFILE32-NEXT: PayloadSize: 0x57
207 MFILE32-NEXT: Subsection [
208 MFILE32-NEXT: Type: 0xF1
209 MFILE32-NEXT: PayloadSize: 0x8
211 MFILE32-NEXT: FunctionLineTable [
212 MFILE32-NEXT: FunctionName: _f
213 MFILE32-NEXT: CodeSize: 0x14
214 MFILE32-NEXT: FilenameSegment [
215 MFILE32-NEXT: Filename: d:\input.c
216 MFILE32-NEXT: +0x0: 3
218 MFILE32-NEXT: FilenameSegment [
219 MFILE32-NEXT: Filename: d:\one.c
220 MFILE32-NEXT: +0x3: 1
222 MFILE32-NEXT: FilenameSegment [
223 MFILE32-NEXT: Filename: d:\two.c
224 MFILE32-NEXT: +0x8: 2
226 MFILE32-NEXT: FilenameSegment [
227 MFILE32-NEXT: Filename: d:\one.c
228 MFILE32-NEXT: +0xD: 7
229 MFILE32-NEXT: +0x12: 8
234 MFILE64: CodeViewLineTables [
235 MFILE64-NEXT: Magic: 0x4
236 MFILE64-NEXT: Subsection [
237 MFILE64-NEXT: Type: 0xF1
238 MFILE64-NEXT: PayloadSize: 0x51
240 MFILE64-NEXT: Subsection [
241 MFILE64-NEXT: Type: 0xF1
242 MFILE64-NEXT: PayloadSize: 0x4B
244 MFILE64-NEXT: Subsection [
245 MFILE64-NEXT: Type: 0xF2
246 MFILE64-NEXT: PayloadSize: 0x64
247 MFILE64: FunctionName: f
249 MFILE64-NEXT: Subsection [
250 MFILE64-NEXT: Type: 0xF4
251 MFILE64-NEXT: PayloadSize: 0x28
253 MFILE64-NEXT: Subsection [
254 MFILE64-NEXT: Type: 0xF3
255 MFILE64-NEXT: PayloadSize: 0x1E
257 MFILE64-NEXT: Subsection [
258 MFILE64-NEXT: Type: 0xF1
259 MFILE64-NEXT: PayloadSize: 0x8
261 MFILE64-NEXT: FunctionLineTable [
262 MFILE64-NEXT: FunctionName: f
263 MFILE64-NEXT: CodeSize: 0x18
264 MFILE64-NEXT: FilenameSegment [
265 MFILE64-NEXT: Filename: d:\input.c
266 MFILE64-NEXT: +0x0: 3
268 MFILE64-NEXT: FilenameSegment [
269 MFILE64-NEXT: Filename: d:\one.c
270 MFILE64-NEXT: +0x4: 1
272 MFILE64-NEXT: FilenameSegment [
273 MFILE64-NEXT: Filename: d:\two.c
274 MFILE64-NEXT: +0x9: 2
276 MFILE64-NEXT: FilenameSegment [
277 MFILE64-NEXT: Filename: d:\one.c
278 MFILE64-NEXT: +0xE: 7
279 MFILE64-NEXT: +0x13: 8