1RUN: obj2yaml %p/Inputs/trivial-object-test.coff-i386 | FileCheck %s --check-prefix COFF-I386
2RUN: obj2yaml %p/Inputs/trivial-object-test.coff-x86-64 | FileCheck %s --check-prefix COFF-X86-64
3
4
5COFF-I386: header:
6COFF-I386-NEXT:  Machine: IMAGE_FILE_MACHINE_I386
7
8COFF-I386: sections:
9COFF-I386-NEXT:  - Name: .text
10COFF-I386-NEXT:    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
11COFF-I386-NEXT:    Alignment: 16
12COFF-I386-NEXT:    SectionData:  83EC0CC744240800000000C7042400000000E800000000E8000000008B44240883C40CC3
13
14COFF-I386:    Relocations:
15COFF-I386-NEXT:      - VirtualAddress: 14
16COFF-I386-NEXT:        SymbolName: L_.str
17COFF-I386-NEXT:        Type: IMAGE_REL_I386_DIR32
18
19COFF-I386:           - VirtualAddress: 19
20COFF-I386-NEXT:        SymbolName: _puts
21COFF-I386-NEXT:        Type: IMAGE_REL_I386_REL32
22
23COFF-I386:           - VirtualAddress: 24
24COFF-I386-NEXT:        SymbolName: _SomeOtherFunction
25COFF-I386-NEXT:        Type: IMAGE_REL_I386_REL32
26
27COFF-I386:       - Name: .data
28COFF-I386-NEXT:    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
29COFF-I386-NEXT:    Alignment: 1
30COFF-I386-NEXT:    SectionData: 48656C6C6F20576F726C642100
31
32COFF-I386: symbols:
33COFF-I386-NEXT:  - Name: .text
34COFF-I386-NEXT:    Value: 0
35COFF-I386-NEXT:    SectionNumber: 1
36COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
37COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
38COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_STATIC
39COFF-I386-NEXT:    SectionDefinition:
40COFF-I386-NEXT:      Length:          36
41COFF-I386-NEXT:      NumberOfRelocations: 3
42COFF-I386-NEXT:      NumberOfLinenumbers: 0
43COFF-I386-NEXT:      CheckSum:        0
44COFF-I386-NEXT:      Number:          1
45
46COFF-I386:       - Name: .data
47COFF-I386-NEXT:    Value: 0
48COFF-I386-NEXT:    SectionNumber: 2
49COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
50COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
51COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_STATIC
52COFF-I386-NEXT:    SectionDefinition:
53COFF-I386-NEXT:      Length:          13
54COFF-I386-NEXT:      NumberOfRelocations: 0
55COFF-I386-NEXT:      NumberOfLinenumbers: 0
56COFF-I386-NEXT:      CheckSum:        0
57COFF-I386-NEXT:      Number:          2
58
59COFF-I386:       - Name: _main
60COFF-I386-NEXT:    Value: 0
61COFF-I386-NEXT:    SectionNumber: 1
62COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
63COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_FUNCTION
64COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL
65
66COFF-I386:       - Name: L_.str
67COFF-I386-NEXT:    Value: 0
68COFF-I386-NEXT:    SectionNumber: 2
69COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
70COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
71COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_STATIC
72
73COFF-I386:       - Name: _puts
74COFF-I386-NEXT:    Value: 0
75COFF-I386-NEXT:    SectionNumber: 0
76COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
77COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
78COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL
79
80COFF-I386:       - Name: _SomeOtherFunction
81COFF-I386-NEXT:    Value: 0
82COFF-I386-NEXT:    SectionNumber: 0
83COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
84COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
85COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL
86
87
88COFF-X86-64: header:
89COFF-X86-64-NEXT:  Machine: IMAGE_FILE_MACHINE_AMD64
90
91COFF-X86-64: sections:
92COFF-X86-64-NEXT:   - Name: .text
93COFF-X86-64-NEXT:     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
94COFF-X86-64-NEXT:     Alignment: 16
95COFF-X86-64-NEXT:     SectionData: 4883EC28C744242400000000488D0D00000000E800000000E8000000008B4424244883C428C3
96
97COFF-X86-64:     Relocations:
98COFF-X86-64-NEXT:       - VirtualAddress: 15
99COFF-X86-64-NEXT:         SymbolName: L.str
100COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32
101
102COFF-X86-64:            - VirtualAddress: 20
103COFF-X86-64-NEXT:         SymbolName: puts
104COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32
105
106COFF-X86-64:            - VirtualAddress: 25
107COFF-X86-64-NEXT:         SymbolName: SomeOtherFunction
108COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32
109
110COFF-X86-64:        - Name: .data
111COFF-X86-64-NEXT:     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
112COFF-X86-64-NEXT:     Alignment: 1
113COFF-X86-64-NEXT:     SectionData: 48656C6C6F20576F726C642100
114
115COFF-X86-64:        - Name: '.CRT$XCU'
116COFF-X86-64-NEXT:     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
117COFF-X86-64-NEXT:     Alignment: 8
118COFF-X86-64-NEXT:     SectionData:  '0000000000000000'
119
120COFF-X86-64:     Relocations:
121COFF-X86-64-NEXT:       - VirtualAddress: 0
122COFF-X86-64-NEXT:         SymbolName: '??__Ex@@YAXXZ'
123COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_ADDR64
124
125COFF-X86-64: symbols:
126COFF-X86-64-NEXT:   - Name: .text
127COFF-X86-64-NEXT:     Value: 0
128COFF-X86-64-NEXT:     SectionNumber: 1
129COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
130COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
131COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
132COFF-X86-64-NEXT:    SectionDefinition:
133COFF-X86-64-NEXT:      Length:          38
134COFF-X86-64-NEXT:      NumberOfRelocations: 3
135COFF-X86-64-NEXT:      NumberOfLinenumbers: 0
136COFF-X86-64-NEXT:      CheckSum:        0
137COFF-X86-64-NEXT:      Number:          1
138
139COFF-X86-64:        - Name: .data
140COFF-X86-64-NEXT:     Value: 0
141COFF-X86-64-NEXT:     SectionNumber: 2
142COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
143COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
144COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
145COFF-X86-64-NEXT:    SectionDefinition:
146COFF-X86-64-NEXT:      Length:          13
147COFF-X86-64-NEXT:      NumberOfRelocations: 0
148COFF-X86-64-NEXT:      NumberOfLinenumbers: 0
149COFF-X86-64-NEXT:      CheckSum:        0
150COFF-X86-64-NEXT:      Number:          2
151
152COFF-X86-64:        - Name: main
153COFF-X86-64-NEXT:     Value: 0
154COFF-X86-64-NEXT:     SectionNumber: 1
155COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
156COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_FUNCTION
157COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
158
159COFF-X86-64:        - Name: L.str
160COFF-X86-64-NEXT:     Value: 0
161COFF-X86-64-NEXT:     SectionNumber: 2
162COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
163COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
164COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
165
166COFF-X86-64:        - Name: puts
167COFF-X86-64-NEXT:     Value: 0
168COFF-X86-64-NEXT:     SectionNumber: 0
169COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
170COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
171COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
172
173COFF-X86-64:        - Name: SomeOtherFunction
174COFF-X86-64-NEXT:     Value: 0
175COFF-X86-64-NEXT:     SectionNumber: 0
176COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
177COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
178COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
179
180COFF-X86-64:        - Name: '??__Ex@@YAXXZ'
181COFF-X86-64-NEXT:     Value: 0
182COFF-X86-64-NEXT:     SectionNumber: 3
183COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
184COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_FUNCTION
185COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
186