Add a test for obj2yaml in preparation for refactoring it.
[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: !Header
6 COFF-I386-NEXT:  Machine: IMAGE_FILE_MACHINE_I386 # (0x14c)
7
8 COFF-I386: sections:
9 COFF-I386-NEXT:   - !Section
10 COFF-I386-NEXT:    Name: .text
11 COFF-I386-NEXT:    Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_ALIGN_16BYTES, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
12 COFF-I386-NEXT:    SectionData:  !hex "83EC0CC744240800000000C7042400000000E800000000E8000000008B44240883C40CC3" # |....D$.......$...............D$.....|
13
14 COFF-I386:    Relocations:
15 COFF-I386-NEXT:      - !Relocation
16 COFF-I386-NEXT:        VirtualAddress: 0xe
17 COFF-I386-NEXT:        SymbolTableIndex: 5
18 COFF-I386-NEXT:        Type: IMAGE_REL_I386_DIR32
19
20 COFF-I386:      - !Relocation
21 COFF-I386-NEXT:        VirtualAddress: 0x13
22 COFF-I386-NEXT:        SymbolTableIndex: 6
23 COFF-I386-NEXT:        Type: IMAGE_REL_I386_REL32
24
25 COFF-I386:      - !Relocation
26 COFF-I386-NEXT:        VirtualAddress: 0x18
27 COFF-I386-NEXT:        SymbolTableIndex: 7
28 COFF-I386-NEXT:        Type: IMAGE_REL_I386_REL32
29
30 COFF-I386:  - !Section
31 COFF-I386-NEXT:    Name: .data
32 COFF-I386-NEXT:    Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_ALIGN_1BYTES, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
33 COFF-I386-NEXT:    SectionData:  !hex "48656C6C6F20576F726C642100" # |Hello World!.|
34
35 COFF-I386: symbols:
36 COFF-I386-NEXT:  - !Symbol
37 COFF-I386-NEXT:    Name: .text
38 COFF-I386-NEXT:    Value: 0
39 COFF-I386-NEXT:    SectionNumber: 1
40 COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
41 COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
42 COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
43 COFF-I386-NEXT:    NumberOfAuxSymbols: 1
44 COFF-I386-NEXT:    AuxillaryData:  !hex "240000000300000000000000010000000000" # |$.................|
45
46 COFF-I386:  - !Symbol
47 COFF-I386-NEXT:    Name: .data
48 COFF-I386-NEXT:    Value: 0
49 COFF-I386-NEXT:    SectionNumber: 2
50 COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
51 COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
52 COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
53 COFF-I386-NEXT:    NumberOfAuxSymbols: 1
54 COFF-I386-NEXT:    AuxillaryData:  !hex "0D0000000000000000000000020000000000" # |..................|
55
56 COFF-I386:  - !Symbol
57 COFF-I386-NEXT:    Name: _main
58 COFF-I386-NEXT:    Value: 0
59 COFF-I386-NEXT:    SectionNumber: 1
60 COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
61 COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_FUNCTION # (2)
62 COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
63
64 COFF-I386:  - !Symbol
65 COFF-I386-NEXT:    Name: L_.str
66 COFF-I386-NEXT:    Value: 0
67 COFF-I386-NEXT:    SectionNumber: 2
68 COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
69 COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
70 COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
71
72 COFF-I386:  - !Symbol
73 COFF-I386-NEXT:    Name: _puts
74 COFF-I386-NEXT:    Value: 0
75 COFF-I386-NEXT:    SectionNumber: 0
76 COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
77 COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
78 COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
79
80 COFF-I386:  - !Symbol
81 COFF-I386-NEXT:    Name: _SomeOtherFunction
82 COFF-I386-NEXT:    Value: 0
83 COFF-I386-NEXT:    SectionNumber: 0
84 COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL # (0)
85 COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
86 COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
87
88
89 COFF-X86-64: header: !Header
90 COFF-X86-64-NEXT:  Machine: IMAGE_FILE_MACHINE_AMD64 # (0x8664)
91
92 COFF-X86-64: sections:
93 COFF-X86-64-NEXT:   - !Section
94 COFF-X86-64-NEXT:     Name: .text
95 COFF-X86-64-NEXT:     Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_ALIGN_16BYTES, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
96 COFF-X86-64-NEXT:     SectionData:  !hex "4883EC28C744242400000000488D0D00000000E800000000E8000000008B4424244883C428C3" # |H..(.D$$....H.................D$$H..(.|
97
98 COFF-X86-64:     Relocations:
99 COFF-X86-64-NEXT:       - !Relocation
100 COFF-X86-64-NEXT:         VirtualAddress: 0xf
101 COFF-X86-64-NEXT:         SymbolTableIndex: 5
102 COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32
103
104 COFF-X86-64:       - !Relocation
105 COFF-X86-64-NEXT:         VirtualAddress: 0x14
106 COFF-X86-64-NEXT:         SymbolTableIndex: 6
107 COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32
108
109 COFF-X86-64:       - !Relocation
110 COFF-X86-64-NEXT:         VirtualAddress: 0x19
111 COFF-X86-64-NEXT:         SymbolTableIndex: 7
112 COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32
113
114 COFF-X86-64:   - !Section
115 COFF-X86-64-NEXT:     Name: .data
116 COFF-X86-64-NEXT:     Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_ALIGN_1BYTES, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
117 COFF-X86-64-NEXT:     SectionData:  !hex "48656C6C6F20576F726C642100" # |Hello World!.|
118
119 COFF-X86-64: symbols:
120 COFF-X86-64-NEXT:   - !Symbol
121 COFF-X86-64-NEXT:     Name: .text
122 COFF-X86-64-NEXT:     Value: 0
123 COFF-X86-64-NEXT:     SectionNumber: 1
124 COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL # (0)
125 COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
126 COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
127 COFF-X86-64-NEXT:     NumberOfAuxSymbols: 1
128 COFF-X86-64-NEXT:     AuxillaryData:  !hex "260000000300000000000000010000000000" # |&.................|
129
130 COFF-X86-64:   - !Symbol
131 COFF-X86-64-NEXT:     Name: .data
132 COFF-X86-64-NEXT:     Value: 0
133 COFF-X86-64-NEXT:     SectionNumber: 2
134 COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL # (0)
135 COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
136 COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
137 COFF-X86-64-NEXT:     NumberOfAuxSymbols: 1
138 COFF-X86-64-NEXT:     AuxillaryData:  !hex "0D0000000000000000000000020000000000" # |..................|
139
140 COFF-X86-64:   - !Symbol
141 COFF-X86-64-NEXT:     Name: main
142 COFF-X86-64-NEXT:     Value: 0
143 COFF-X86-64-NEXT:     SectionNumber: 1
144 COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL # (0)
145 COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
146 COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
147
148 COFF-X86-64:   - !Symbol
149 COFF-X86-64-NEXT:     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 # (0)
153 COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
154 COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
155
156 COFF-X86-64:   - !Symbol
157 COFF-X86-64-NEXT:     Name: puts
158 COFF-X86-64-NEXT:     Value: 0
159 COFF-X86-64-NEXT:     SectionNumber: 0
160 COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL # (0)
161 COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
162 COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
163
164 COFF-X86-64:   - !Symbol
165 COFF-X86-64-NEXT:     Name: SomeOtherFunction
166 COFF-X86-64-NEXT:     Value: 0
167 COFF-X86-64-NEXT:     SectionNumber: 0
168 COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL # (0)
169 COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
170 COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)