blob: 4854d7ac6a396e360f1dd3110bf6a1a160e2c270 [file] [log] [blame]
Timur Iskhodzhanov48703be2013-12-19 11:37:14 +00001RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \
2RUN: | FileCheck %s -check-prefix MFUN32
3RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \
4RUN: | FileCheck %s -check-prefix MFUN64
5RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
6RUN: | FileCheck %s -check-prefix MFILE32
7RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
8RUN: | FileCheck %s -check-prefix MFILE64
9
10MFUN32: CodeViewLineTables [
11MFUN32-NEXT: Magic: 0x4
12MFUN32-NEXT: Subsection [
13MFUN32-NEXT: Type: 0xF1
14MFUN32-NEXT: PayloadSize: 0x52
15MFUN32: ]
16MFUN32-NEXT: Subsection [
17MFUN32-NEXT: Type: 0xF5
18MFUN32-NEXT: PayloadSize: 0x24
19MFUN32: ]
20MFUN32-NEXT: Subsection [
21MFUN32-NEXT: Type: 0xF1
22MFUN32-NEXT: PayloadSize: 0x4B
23MFUN32: ]
24MFUN32-NEXT: Subsection [
25MFUN32-NEXT: Type: 0xF2
26MFUN32-NEXT: PayloadSize: 0x30
27MFUN32: FunctionName: _x
28MFUN32-NEXT: ]
29MFUN32-NEXT: Subsection [
30MFUN32-NEXT: Type: 0xF5
31MFUN32-NEXT: PayloadSize: 0x24
32MFUN32: ]
33MFUN32-NEXT: Subsection [
34MFUN32-NEXT: Type: 0xF1
35MFUN32-NEXT: PayloadSize: 0x4B
36MFUN32: ]
37MFUN32-NEXT: Subsection [
38MFUN32-NEXT: Type: 0xF2
39MFUN32-NEXT: PayloadSize: 0x30
40MFUN32: FunctionName: _y
41MFUN32-NEXT: ]
42MFUN32-NEXT: Subsection [
43MFUN32-NEXT: Type: 0xF5
44MFUN32-NEXT: PayloadSize: 0x24
45MFUN32: ]
46MFUN32-NEXT: Subsection [
47MFUN32-NEXT: Type: 0xF1
48MFUN32-NEXT: PayloadSize: 0x4B
49MFUN32: ]
50MFUN32-NEXT: Subsection [
51MFUN32-NEXT: Type: 0xF2
52MFUN32-NEXT: PayloadSize: 0x40
53MFUN32: FunctionName: _f
54MFUN32-NEXT: ]
55MFUN32-NEXT: Subsection [
56MFUN32-NEXT: Type: 0xF4
57MFUN32-NEXT: PayloadSize: 0x18
58MFUN32: ]
59MFUN32-NEXT: Subsection [
60MFUN32-NEXT: Type: 0xF3
61MFUN32-NEXT: PayloadSize: 0x46
62MFUN32: ]
63MFUN32-NEXT: Subsection [
64MFUN32-NEXT: Type: 0xF1
65MFUN32-NEXT: PayloadSize: 0x8
66MFUN32: ]
67MFUN32-NEXT: FunctionLineTable [
68MFUN32-NEXT: FunctionName: _x
69MFUN32-NEXT: CodeSize: 0xA
70MFUN32-NEXT: FilenameSegment [
71MFUN32-NEXT: Filename: d:\source.c
72MFUN32-NEXT: +0x0: 3
73MFUN32-NEXT: +0x3: 4
74MFUN32-NEXT: +0x8: 5
75MFUN32-NEXT: ]
76MFUN32-NEXT: ]
77MFUN32-NEXT: FunctionLineTable [
78MFUN32-NEXT: FunctionName: _y
79MFUN32-NEXT: CodeSize: 0xA
80MFUN32-NEXT: FilenameSegment [
81MFUN32-NEXT: Filename: d:\source.c
82MFUN32-NEXT: +0x0: 7
83MFUN32-NEXT: +0x3: 8
84MFUN32-NEXT: +0x8: 9
85MFUN32-NEXT: ]
86MFUN32-NEXT: ]
87MFUN32-NEXT: FunctionLineTable [
88MFUN32-NEXT: FunctionName: _f
89MFUN32-NEXT: CodeSize: 0x14
90MFUN32-NEXT: FilenameSegment [
91MFUN32-NEXT: Filename: d:\source.c
92MFUN32-NEXT: +0x0: 11
93MFUN32-NEXT: +0x3: 12
94MFUN32-NEXT: +0x8: 13
95MFUN32-NEXT: +0xD: 14
96MFUN32-NEXT: +0x12: 15
97MFUN32-NEXT: ]
98MFUN32-NEXT: ]
99MFUN32-NEXT: ]
100
101MFUN64: CodeViewLineTables [
102MFUN64-NEXT: Magic: 0x4
103MFUN64-NEXT: Subsection [
104MFUN64-NEXT: Type: 0xF1
105MFUN64-NEXT: PayloadSize: 0x52
106MFUN64: ]
107MFUN64-NEXT: Subsection [
108MFUN64-NEXT: Type: 0xF1
109MFUN64-NEXT: PayloadSize: 0x4B
110MFUN64: ]
111MFUN64-NEXT: Subsection [
112MFUN64-NEXT: Type: 0xF2
113MFUN64-NEXT: PayloadSize: 0x30
114MFUN64: FunctionName: x
115MFUN64-NEXT: ]
116MFUN64-NEXT: Subsection [
117MFUN64-NEXT: Type: 0xF1
118MFUN64-NEXT: PayloadSize: 0x4B
119MFUN64: ]
120MFUN64-NEXT: Subsection [
121MFUN64-NEXT: Type: 0xF2
122MFUN64-NEXT: PayloadSize: 0x30
123MFUN64: FunctionName: y
124MFUN64-NEXT: ]
125MFUN64-NEXT: Subsection [
126MFUN64-NEXT: Type: 0xF1
127MFUN64-NEXT: PayloadSize: 0x4B
128MFUN64: ]
129MFUN64-NEXT: Subsection [
130MFUN64-NEXT: Type: 0xF2
131MFUN64-NEXT: PayloadSize: 0x40
132MFUN64: FunctionName: f
133MFUN64-NEXT: ]
134MFUN64-NEXT: Subsection [
135MFUN64-NEXT: Type: 0xF4
136MFUN64-NEXT: PayloadSize: 0x18
137MFUN64: ]
138MFUN64-NEXT: Subsection [
139MFUN64-NEXT: Type: 0xF3
140MFUN64-NEXT: PayloadSize: 0xD
141MFUN64: ]
142MFUN64-NEXT: Subsection [
143MFUN64-NEXT: Type: 0xF1
144MFUN64-NEXT: PayloadSize: 0x8
145MFUN64: ]
146MFUN64-NEXT: FunctionLineTable [
147MFUN64-NEXT: FunctionName: x
148MFUN64-NEXT: CodeSize: 0xE
149MFUN64-NEXT: FilenameSegment [
150MFUN64-NEXT: Filename: d:\source.c
151MFUN64-NEXT: +0x0: 3
152MFUN64-NEXT: +0x4: 4
153MFUN64-NEXT: +0x9: 5
154MFUN64-NEXT: ]
155MFUN64-NEXT: ]
156MFUN64-NEXT: FunctionLineTable [
157MFUN64-NEXT: FunctionName: y
158MFUN64-NEXT: CodeSize: 0xE
159MFUN64-NEXT: FilenameSegment [
160MFUN64-NEXT: Filename: d:\source.c
161MFUN64-NEXT: +0x0: 7
162MFUN64-NEXT: +0x4: 8
163MFUN64-NEXT: +0x9: 9
164MFUN64-NEXT: ]
165MFUN64-NEXT: ]
166MFUN64-NEXT: FunctionLineTable [
167MFUN64-NEXT: FunctionName: f
168MFUN64-NEXT: CodeSize: 0x18
169MFUN64-NEXT: FilenameSegment [
170MFUN64-NEXT: Filename: d:\source.c
171MFUN64-NEXT: +0x0: 11
172MFUN64-NEXT: +0x4: 12
173MFUN64-NEXT: +0x9: 13
174MFUN64-NEXT: +0xE: 14
175MFUN64-NEXT: +0x13: 15
176MFUN64-NEXT: ]
177MFUN64-NEXT: ]
178MFUN64-NEXT: ]
179
180MFILE32: CodeViewLineTables [
181MFILE32-NEXT: Magic: 0x4
182MFILE32-NEXT: Subsection [
183MFILE32-NEXT: Type: 0xF1
184MFILE32-NEXT: PayloadSize: 0x51
185MFILE32: ]
186MFILE32-NEXT: Subsection [
187MFILE32-NEXT: Type: 0xF5
188MFILE32-NEXT: PayloadSize: 0x24
189MFILE32: ]
190MFILE32-NEXT: Subsection [
191MFILE32-NEXT: Type: 0xF1
192MFILE32-NEXT: PayloadSize: 0x4B
193MFILE32: ]
194MFILE32-NEXT: Subsection [
195MFILE32-NEXT: Type: 0xF2
196MFILE32-NEXT: PayloadSize: 0x64
197MFILE32: FunctionName: _f
198MFILE32-NEXT: ]
199MFILE32-NEXT: Subsection [
200MFILE32-NEXT: Type: 0xF4
201MFILE32-NEXT: PayloadSize: 0x28
202MFILE32: ]
203MFILE32-NEXT: Subsection [
204MFILE32-NEXT: Type: 0xF3
205MFILE32-NEXT: PayloadSize: 0x57
206MFILE32: ]
207MFILE32-NEXT: Subsection [
208MFILE32-NEXT: Type: 0xF1
209MFILE32-NEXT: PayloadSize: 0x8
210MFILE32: ]
211MFILE32-NEXT: FunctionLineTable [
212MFILE32-NEXT: FunctionName: _f
213MFILE32-NEXT: CodeSize: 0x14
214MFILE32-NEXT: FilenameSegment [
215MFILE32-NEXT: Filename: d:\input.c
216MFILE32-NEXT: +0x0: 3
217MFILE32-NEXT: ]
218MFILE32-NEXT: FilenameSegment [
219MFILE32-NEXT: Filename: d:\one.c
220MFILE32-NEXT: +0x3: 1
221MFILE32-NEXT: ]
222MFILE32-NEXT: FilenameSegment [
223MFILE32-NEXT: Filename: d:\two.c
224MFILE32-NEXT: +0x8: 2
225MFILE32-NEXT: ]
226MFILE32-NEXT: FilenameSegment [
227MFILE32-NEXT: Filename: d:\one.c
228MFILE32-NEXT: +0xD: 7
229MFILE32-NEXT: +0x12: 8
230MFILE32-NEXT: ]
231MFILE32-NEXT: ]
232MFILE32-NEXT: ]
233
234MFILE64: CodeViewLineTables [
235MFILE64-NEXT: Magic: 0x4
236MFILE64-NEXT: Subsection [
237MFILE64-NEXT: Type: 0xF1
238MFILE64-NEXT: PayloadSize: 0x51
239MFILE64: ]
240MFILE64-NEXT: Subsection [
241MFILE64-NEXT: Type: 0xF1
242MFILE64-NEXT: PayloadSize: 0x4B
243MFILE64: ]
244MFILE64-NEXT: Subsection [
245MFILE64-NEXT: Type: 0xF2
246MFILE64-NEXT: PayloadSize: 0x64
247MFILE64: FunctionName: f
248MFILE64-NEXT: ]
249MFILE64-NEXT: Subsection [
250MFILE64-NEXT: Type: 0xF4
251MFILE64-NEXT: PayloadSize: 0x28
252MFILE64: ]
253MFILE64-NEXT: Subsection [
254MFILE64-NEXT: Type: 0xF3
255MFILE64-NEXT: PayloadSize: 0x1E
256MFILE64: ]
257MFILE64-NEXT: Subsection [
258MFILE64-NEXT: Type: 0xF1
259MFILE64-NEXT: PayloadSize: 0x8
260MFILE64: ]
261MFILE64-NEXT: FunctionLineTable [
262MFILE64-NEXT: FunctionName: f
263MFILE64-NEXT: CodeSize: 0x18
264MFILE64-NEXT: FilenameSegment [
265MFILE64-NEXT: Filename: d:\input.c
266MFILE64-NEXT: +0x0: 3
267MFILE64-NEXT: ]
268MFILE64-NEXT: FilenameSegment [
269MFILE64-NEXT: Filename: d:\one.c
270MFILE64-NEXT: +0x4: 1
271MFILE64-NEXT: ]
272MFILE64-NEXT: FilenameSegment [
273MFILE64-NEXT: Filename: d:\two.c
274MFILE64-NEXT: +0x9: 2
275MFILE64-NEXT: ]
276MFILE64-NEXT: FilenameSegment [
277MFILE64-NEXT: Filename: d:\one.c
278MFILE64-NEXT: +0xE: 7
279MFILE64-NEXT: +0x13: 8
280MFILE64-NEXT: ]
281MFILE64-NEXT: ]
282MFILE64-NEXT: ]