blob: a972c9ab51db4233d81b2136a2f3b6588db40d22 [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 \
6RUN: | FileCheck %s -check-prefix MACHO
7
8COFF: Sections [
9COFF-NEXT: Section {
10COFF-NEXT: Number: 1
11COFF-NEXT: Name: .text (2E 74 65 78 74 00 00 00)
12COFF-NEXT: VirtualSize: 0x0
13COFF-NEXT: VirtualAddress: 0x0
14COFF-NEXT: RawDataSize: 22
15COFF-NEXT: PointerToRawData: 0x64
16COFF-NEXT: PointerToRelocations: 0x7A
17COFF-NEXT: PointerToLineNumbers: 0x0
18COFF-NEXT: RelocationCount: 3
19COFF-NEXT: LineNumberCount: 0
20COFF-NEXT: Characteristics [ (0x60500020)
21COFF-NEXT: IMAGE_SCN_ALIGN_16BYTES (0x500000)
22COFF-NEXT: IMAGE_SCN_CNT_CODE (0x20)
23COFF-NEXT: IMAGE_SCN_MEM_EXECUTE (0x20000000)
24COFF-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
25COFF-NEXT: ]
26COFF-NEXT: Relocations [
27COFF-NEXT: 0x4 IMAGE_REL_I386_DIR32 .data
28COFF-NEXT: 0x9 IMAGE_REL_I386_REL32 _puts
29COFF-NEXT: 0xE IMAGE_REL_I386_REL32 _SomeOtherFunction
30COFF-NEXT: ]
31COFF-NEXT: Symbols [
32COFF-NEXT: Symbol {
33COFF-NEXT: Name: .text
34COFF-NEXT: Value: 0
35COFF-NEXT: Section: .text (1)
36COFF-NEXT: BaseType: Null (0x0)
37COFF-NEXT: ComplexType: Null (0x0)
38COFF-NEXT: StorageClass: Static (0x3)
39COFF-NEXT: AuxSymbolCount: 1
40COFF-NEXT: AuxSectionDef {
41COFF-NEXT: Length: 22
42COFF-NEXT: RelocationCount: 3
43COFF-NEXT: LineNumberCount: 0
44COFF-NEXT: Checksum: 0x0
45COFF-NEXT: Number: 1
46COFF-NEXT: Selection: 0x0
47COFF-NEXT: Unused: (00 00 00)
48COFF-NEXT: }
49COFF-NEXT: }
50COFF-NEXT: Symbol {
51COFF-NEXT: Name: _main
52COFF-NEXT: Value: 0
53COFF-NEXT: Section: .text (1)
54COFF-NEXT: BaseType: Null (0x0)
55COFF-NEXT: ComplexType: Function (0x2)
56COFF-NEXT: StorageClass: External (0x2)
57COFF-NEXT: AuxSymbolCount: 0
58COFF-NEXT: }
59COFF-NEXT: ]
60COFF-NEXT: SectionData (
61COFF-NEXT: 0000: 50C70424 00000000 E8000000 00E80000 |P..$............|
62COFF-NEXT: 0010: 000031C0 5AC3 |..1.Z.|
63COFF-NEXT: )
64COFF-NEXT: }
65
66ELF: Sections [
67ELF-NEXT: Section {
68ELF-NEXT: Index: 0
69ELF-NEXT: Name: (0)
70ELF-NEXT: Type: SHT_NULL (0x0)
71ELF-NEXT: Flags [ (0x0)
72ELF-NEXT: ]
73ELF-NEXT: Address: 0x0
74ELF-NEXT: Offset: 0x0
75ELF-NEXT: Size: 0
76ELF-NEXT: Link: 0
77ELF-NEXT: Info: 0
78ELF-NEXT: AddressAlignment: 0
79ELF-NEXT: EntrySize: 0
80ELF-NEXT: Relocations [
81ELF-NEXT: ]
82ELF-NEXT: Symbols [
83ELF-NEXT: ]
84ELF-NEXT: SectionData (
85ELF-NEXT: )
86ELF-NEXT: }
87ELF-NEXT: Section {
88ELF-NEXT: Index: 1
89ELF-NEXT: Name: .text (5)
90ELF-NEXT: Type: SHT_PROGBITS (0x1)
91ELF-NEXT: Flags [ (0x6)
92ELF-NEXT: SHF_ALLOC (0x2)
93ELF-NEXT: SHF_EXECINSTR (0x4)
94ELF-NEXT: ]
95ELF-NEXT: Address: 0x0
96ELF-NEXT: Offset: 0x40
97ELF-NEXT: Size: 42
98ELF-NEXT: Link: 0
99ELF-NEXT: Info: 0
100ELF-NEXT: AddressAlignment: 16
101ELF-NEXT: EntrySize: 0
102ELF-NEXT: Relocations [
103ELF-NEXT: 0xC R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0
104ELF-NEXT: 0x12 R_386_GOTOFF .L.str 0x0
105ELF-NEXT: 0x1A R_386_PLT32 puts 0x0
106ELF-NEXT: 0x1F R_386_PLT32 SomeOtherFunction 0x0
107ELF-NEXT: ]
108ELF-NEXT: Symbols [
109ELF-NEXT: Symbol {
110ELF-NEXT: Name: .text (0)
111ELF-NEXT: Value: 0x0
112ELF-NEXT: Size: 0
113ELF-NEXT: Binding: Local (0x0)
114ELF-NEXT: Type: Section (0x3)
115ELF-NEXT: Other: 0
116ELF-NEXT: Section: .text (0x1)
117ELF-NEXT: }
118ELF-NEXT: Symbol {
119ELF-NEXT: Name: main (12)
120ELF-NEXT: Value: 0x0
121ELF-NEXT: Size: 42
122ELF-NEXT: Binding: Global (0x1)
123ELF-NEXT: Type: Function (0x2)
124ELF-NEXT: Other: 0
125ELF-NEXT: Section: .text (0x1)
126ELF-NEXT: }
127ELF-NEXT: ]
128ELF-NEXT: SectionData (
129ELF-NEXT: 0000: 5383EC08 E8000000 005B81C3 03000000 |S........[......|
130ELF-NEXT: 0010: 8D830000 00008904 24E8FCFF FFFFE8FC |........$.......|
131ELF-NEXT: 0020: FFFFFF31 C083C408 5BC3 |...1....[.|
132ELF-NEXT: )
133ELF-NEXT: }
134
135MACHO: Sections [
136MACHO-NEXT: Section {
137MACHO-NEXT: Index: 0
Rafael Espindolab0f76a42013-04-05 15:15:22 +0000138MACHO-NEXT: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
139MACHO-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
Eric Christopher9cad53c2013-04-03 18:31:38 +0000140MACHO-NEXT: Address: 0x0
141MACHO-NEXT: Size: 0x22
142MACHO-NEXT: Offset: 324
143MACHO-NEXT: Alignment: 4
144MACHO-NEXT: RelocationOffset: 0x174
145MACHO-NEXT: RelocationCount: 4
146MACHO-NEXT: Type: 0x0
147MACHO-NEXT: Attributes [ (0x800004)
148MACHO-NEXT: PureInstructions (0x800000)
149MACHO-NEXT: SomeInstructions (0x4)
150MACHO-NEXT: ]
151MACHO-NEXT: Reserved1: 0x0
152MACHO-NEXT: Reserved2: 0x0
153MACHO-NEXT: Relocations [
154MACHO-NEXT: 0x18 GENERIC_RELOC_VANILLA _SomeOtherFunction 0x0
155MACHO-NEXT: 0x13 GENERIC_RELOC_VANILLA _puts 0x0
156MACHO-NEXT: 0xB GENERIC_RELOC_LOCAL_SECTDIFF _main 0x{{[0-9A-F]+}}
157MACHO-NEXT: 0x0 GENERIC_RELOC_PAIR _main 0x{{[0-9A-F]+}}
158MACHO-NEXT: ]
159MACHO-NEXT: Symbols [
160MACHO-NEXT: Symbol {
161MACHO-NEXT: Name: _main (1)
162MACHO-NEXT: Type: 0xF
163MACHO-NEXT: Section: __text (0x1)
164MACHO-NEXT: RefType: UndefinedNonLazy (0x0)
165MACHO-NEXT: Flags [ (0x0)
166MACHO-NEXT: ]
167MACHO-NEXT: Value: 0x0
168MACHO-NEXT: }
169MACHO-NEXT: ]
170MACHO-NEXT: SectionData (
171MACHO-NEXT: 0000: 83EC0CE8 00000000 588D801A 00000089 |........X.......|
172MACHO-NEXT: 0010: 0424E8E9 FFFFFFE8 E4FFFFFF 31C083C4 |.$..........1...|
173MACHO-NEXT: 0020: 0CC3 |..|
174MACHO-NEXT: )
175MACHO-NEXT: }