sections-ext.test revision fb1b6fddbe3f84c0454dd42134741a33042dadf3
1RUN: 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-I386
7RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.macho-x86-64 \
8RUN:   | FileCheck %s -check-prefix MACHO-X86-64
9
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
137MACHO-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:]
252