blob: a16bca2b19d1f7878f7b6653c1780703c67507ac [file] [log] [blame]
Eric Christopher9cad53c2013-04-03 18:31:38 +00001RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.coff-i386 \
2RUN: | FileCheck %s -check-prefix COFF
3RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.elf-i386 \
4RUN: | FileCheck %s -check-prefix ELF
5RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.macho-i386 \
Rafael Espindola1d532a32013-04-11 02:52:29 +00006RUN: | FileCheck %s -check-prefix MACHO-I386
7RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.macho-x86-64 \
8RUN: | FileCheck %s -check-prefix MACHO-X86-64
Eric Christopher9cad53c2013-04-03 18:31:38 +00009
10COFF: Sections [
11COFF-NEXT: Section {
12COFF-NEXT: Number: 1
13COFF-NEXT: Name: .text (2E 74 65 78 74 00 00 00)
14COFF-NEXT: VirtualSize: 0x0
15COFF-NEXT: VirtualAddress: 0x0
16COFF-NEXT: RawDataSize: 22
17COFF-NEXT: PointerToRawData: 0x64
18COFF-NEXT: PointerToRelocations: 0x7A
19COFF-NEXT: PointerToLineNumbers: 0x0
20COFF-NEXT: RelocationCount: 3
21COFF-NEXT: LineNumberCount: 0
22COFF-NEXT: Characteristics [ (0x60500020)
23COFF-NEXT: IMAGE_SCN_ALIGN_16BYTES (0x500000)
24COFF-NEXT: IMAGE_SCN_CNT_CODE (0x20)
25COFF-NEXT: IMAGE_SCN_MEM_EXECUTE (0x20000000)
26COFF-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
27COFF-NEXT: ]
28COFF-NEXT: Relocations [
29COFF-NEXT: 0x4 IMAGE_REL_I386_DIR32 .data
30COFF-NEXT: 0x9 IMAGE_REL_I386_REL32 _puts
31COFF-NEXT: 0xE IMAGE_REL_I386_REL32 _SomeOtherFunction
32COFF-NEXT: ]
33COFF-NEXT: Symbols [
34COFF-NEXT: Symbol {
35COFF-NEXT: Name: .text
36COFF-NEXT: Value: 0
37COFF-NEXT: Section: .text (1)
38COFF-NEXT: BaseType: Null (0x0)
39COFF-NEXT: ComplexType: Null (0x0)
40COFF-NEXT: StorageClass: Static (0x3)
41COFF-NEXT: AuxSymbolCount: 1
42COFF-NEXT: AuxSectionDef {
43COFF-NEXT: Length: 22
44COFF-NEXT: RelocationCount: 3
45COFF-NEXT: LineNumberCount: 0
46COFF-NEXT: Checksum: 0x0
47COFF-NEXT: Number: 1
48COFF-NEXT: Selection: 0x0
49COFF-NEXT: Unused: (00 00 00)
50COFF-NEXT: }
51COFF-NEXT: }
52COFF-NEXT: Symbol {
53COFF-NEXT: Name: _main
54COFF-NEXT: Value: 0
55COFF-NEXT: Section: .text (1)
56COFF-NEXT: BaseType: Null (0x0)
57COFF-NEXT: ComplexType: Function (0x2)
58COFF-NEXT: StorageClass: External (0x2)
59COFF-NEXT: AuxSymbolCount: 0
60COFF-NEXT: }
61COFF-NEXT: ]
62COFF-NEXT: SectionData (
63COFF-NEXT: 0000: 50C70424 00000000 E8000000 00E80000 |P..$............|
64COFF-NEXT: 0010: 000031C0 5AC3 |..1.Z.|
65COFF-NEXT: )
66COFF-NEXT: }
67
68ELF: Sections [
69ELF-NEXT: Section {
70ELF-NEXT: Index: 0
71ELF-NEXT: Name: (0)
72ELF-NEXT: Type: SHT_NULL (0x0)
73ELF-NEXT: Flags [ (0x0)
74ELF-NEXT: ]
75ELF-NEXT: Address: 0x0
76ELF-NEXT: Offset: 0x0
77ELF-NEXT: Size: 0
78ELF-NEXT: Link: 0
79ELF-NEXT: Info: 0
80ELF-NEXT: AddressAlignment: 0
81ELF-NEXT: EntrySize: 0
82ELF-NEXT: Relocations [
83ELF-NEXT: ]
84ELF-NEXT: Symbols [
85ELF-NEXT: ]
86ELF-NEXT: SectionData (
87ELF-NEXT: )
88ELF-NEXT: }
89ELF-NEXT: Section {
90ELF-NEXT: Index: 1
91ELF-NEXT: Name: .text (5)
92ELF-NEXT: Type: SHT_PROGBITS (0x1)
93ELF-NEXT: Flags [ (0x6)
94ELF-NEXT: SHF_ALLOC (0x2)
95ELF-NEXT: SHF_EXECINSTR (0x4)
96ELF-NEXT: ]
97ELF-NEXT: Address: 0x0
98ELF-NEXT: Offset: 0x40
99ELF-NEXT: Size: 42
100ELF-NEXT: Link: 0
101ELF-NEXT: Info: 0
102ELF-NEXT: AddressAlignment: 16
103ELF-NEXT: EntrySize: 0
104ELF-NEXT: Relocations [
105ELF-NEXT: 0xC R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0
106ELF-NEXT: 0x12 R_386_GOTOFF .L.str 0x0
107ELF-NEXT: 0x1A R_386_PLT32 puts 0x0
108ELF-NEXT: 0x1F R_386_PLT32 SomeOtherFunction 0x0
109ELF-NEXT: ]
110ELF-NEXT: Symbols [
111ELF-NEXT: Symbol {
112ELF-NEXT: Name: .text (0)
113ELF-NEXT: Value: 0x0
114ELF-NEXT: Size: 0
115ELF-NEXT: Binding: Local (0x0)
116ELF-NEXT: Type: Section (0x3)
117ELF-NEXT: Other: 0
118ELF-NEXT: Section: .text (0x1)
119ELF-NEXT: }
120ELF-NEXT: Symbol {
121ELF-NEXT: Name: main (12)
122ELF-NEXT: Value: 0x0
123ELF-NEXT: Size: 42
124ELF-NEXT: Binding: Global (0x1)
125ELF-NEXT: Type: Function (0x2)
126ELF-NEXT: Other: 0
127ELF-NEXT: Section: .text (0x1)
128ELF-NEXT: }
129ELF-NEXT: ]
130ELF-NEXT: SectionData (
131ELF-NEXT: 0000: 5383EC08 E8000000 005B81C3 03000000 |S........[......|
132ELF-NEXT: 0010: 8D830000 00008904 24E8FCFF FFFFE8FC |........$.......|
133ELF-NEXT: 0020: FFFFFF31 C083C408 5BC3 |...1....[.|
134ELF-NEXT: )
135ELF-NEXT: }
136
Rafael Espindola1d532a32013-04-11 02:52:29 +0000137MACHO-I386: Sections [
138MACHO-I386-NEXT: Section {
139MACHO-I386-NEXT: Index: 0
140MACHO-I386-NEXT: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
141MACHO-I386-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
142MACHO-I386-NEXT: Address: 0x0
143MACHO-I386-NEXT: Size: 0x22
144MACHO-I386-NEXT: Offset: 324
145MACHO-I386-NEXT: Alignment: 4
146MACHO-I386-NEXT: RelocationOffset: 0x174
147MACHO-I386-NEXT: RelocationCount: 4
148MACHO-I386-NEXT: Type: 0x0
149MACHO-I386-NEXT: Attributes [ (0x800004)
150MACHO-I386-NEXT: PureInstructions (0x800000)
151MACHO-I386-NEXT: SomeInstructions (0x4)
152MACHO-I386-NEXT: ]
153MACHO-I386-NEXT: Reserved1: 0x0
154MACHO-I386-NEXT: Reserved2: 0x0
155MACHO-I386-NEXT: Relocations [
156MACHO-I386-NEXT: 0x18 GENERIC_RELOC_VANILLA _SomeOtherFunction 0x0
157MACHO-I386-NEXT: 0x13 GENERIC_RELOC_VANILLA _puts 0x0
158MACHO-I386-NEXT: 0xB GENERIC_RELOC_LOCAL_SECTDIFF _main 0x{{[0-9A-F]+}}
159MACHO-I386-NEXT: 0x0 GENERIC_RELOC_PAIR _main 0x{{[0-9A-F]+}}
160MACHO-I386-NEXT: ]
161MACHO-I386-NEXT: Symbols [
162MACHO-I386-NEXT: Symbol {
163MACHO-I386-NEXT: Name: _main (1)
164MACHO-I386-NEXT: Type: 0xF
165MACHO-I386-NEXT: Section: __text (0x1)
166MACHO-I386-NEXT: RefType: UndefinedNonLazy (0x0)
167MACHO-I386-NEXT: Flags [ (0x0)
168MACHO-I386-NEXT: ]
169MACHO-I386-NEXT: Value: 0x0
170MACHO-I386-NEXT: }
171MACHO-I386-NEXT: ]
172MACHO-I386-NEXT: SectionData (
173MACHO-I386-NEXT: 0000: 83EC0CE8 00000000 588D801A 00000089 |........X.......|
174MACHO-I386-NEXT: 0010: 0424E8E9 FFFFFFE8 E4FFFFFF 31C083C4 |.$..........1...|
175MACHO-I386-NEXT: 0020: 0CC3 |..|
176MACHO-I386-NEXT: )
177MACHO-I386-NEXT: }
178
179
180MACHO-X86-64: Sections [
181MACHO-X86-64-NEXT: Section {
182MACHO-X86-64-NEXT: Index: 0
183MACHO-X86-64-NEXT: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
184MACHO-X86-64-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
185MACHO-X86-64-NEXT: Address: 0x0
186MACHO-X86-64-NEXT: Size: 0x16
187MACHO-X86-64-NEXT: Offset: 368
188MACHO-X86-64-NEXT: Alignment: 4
189MACHO-X86-64-NEXT: RelocationOffset: 0x194
190MACHO-X86-64-NEXT: RelocationCount: 3
191MACHO-X86-64-NEXT: Type: 0x0
192MACHO-X86-64-NEXT: Attributes [ (0x800004)
193MACHO-X86-64-NEXT: PureInstructions (0x800000)
194MACHO-X86-64-NEXT: SomeInstructions (0x4)
195MACHO-X86-64-NEXT: ]
196MACHO-X86-64-NEXT: Reserved1: 0x0
197MACHO-X86-64-NEXT: Reserved2: 0x0
198MACHO-X86-64-NEXT: Relocations [
199MACHO-X86-64-NEXT: 0xE X86_64_RELOC_BRANCH _SomeOtherFunction 0x0
200MACHO-X86-64-NEXT: 0x9 X86_64_RELOC_BRANCH _puts 0x0
201MACHO-X86-64-NEXT: 0x4 X86_64_RELOC_SIGNED L_.str 0x0
202MACHO-X86-64-NEXT: ]
203MACHO-X86-64-NEXT: Symbols [
204MACHO-X86-64-NEXT: Symbol {
205MACHO-X86-64-NEXT: Name: _main (1)
206MACHO-X86-64-NEXT: Type: 0xF
207MACHO-X86-64-NEXT: Section: __text (0x1)
208MACHO-X86-64-NEXT: RefType: UndefinedNonLazy (0x0)
209MACHO-X86-64-NEXT: Flags [ (0x0)
210MACHO-X86-64-NEXT: ]
211MACHO-X86-64-NEXT: Value: 0x0
212MACHO-X86-64-NEXT: }
213MACHO-X86-64-NEXT: ]
214MACHO-X86-64-NEXT: SectionData (
215MACHO-X86-64-NEXT: 0000: 50488D3D 00000000 E8000000 00E80000 |PH.=............|
216MACHO-X86-64-NEXT: 0010: 000031C0 5AC3 |..1.Z.|
217MACHO-X86-64-NEXT: )
218MACHO-X86-64-NEXT: }
219MACHO-X86-64-NEXT: Section {
220MACHO-X86-64-NEXT: Index: 1
221MACHO-X86-64-NEXT: Name: __cstring (5F 5F 63 73 74 72 69 6E 67 00 00 00 00 00 00 00)
222MACHO-X86-64-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
223MACHO-X86-64-NEXT: Address: 0x16
224MACHO-X86-64-NEXT: Size: 0xD
225MACHO-X86-64-NEXT: Offset: 390
226MACHO-X86-64-NEXT: Alignment: 0
227MACHO-X86-64-NEXT: RelocationOffset: 0x0
228MACHO-X86-64-NEXT: RelocationCount: 0
229MACHO-X86-64-NEXT: Type: ExtReloc (0x2)
230MACHO-X86-64-NEXT: Attributes [ (0x0)
231MACHO-X86-64-NEXT: ]
232MACHO-X86-64-NEXT: Reserved1: 0x0
233MACHO-X86-64-NEXT: Reserved2: 0x0
234MACHO-X86-64-NEXT: Relocations [
235MACHO-X86-64-NEXT: ]
236MACHO-X86-64-NEXT: Symbols [
237MACHO-X86-64-NEXT: Symbol {
238MACHO-X86-64-NEXT: Name: L_.str (32)
239MACHO-X86-64-NEXT: Type: Section (0xE)
240MACHO-X86-64-NEXT: Section: __cstring (0x2)
241MACHO-X86-64-NEXT: RefType: UndefinedNonLazy (0x0)
242MACHO-X86-64-NEXT: Flags [ (0x0)
243MACHO-X86-64-NEXT: ]
244MACHO-X86-64-NEXT: Value: 0x16
245MACHO-X86-64-NEXT: }
246MACHO-X86-64-NEXT: ]
247MACHO-X86-64-NEXT: SectionData (
248MACHO-X86-64-NEXT: 0000: 48656C6C 6F20576F 726C640A 00 |Hello World..|
249MACHO-X86-64-NEXT: )
250MACHO-X86-64-NEXT: }
251MACHO-X86-64-NEXT:]