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