blob: 72dbd32ea9d5fe1872142f4305f99b494350b044 [file] [log] [blame]
Eric Christopher9cad53c2013-04-03 18:31:38 +00001RUN: llvm-readobj -s -t -dt -dynamic-table -needed-libs \
2RUN: %p/Inputs/shared-object-test.elf-i386 \
David Meyer2fc34c52012-03-01 01:36:50 +00003RUN: | FileCheck %s -check-prefix ELF
Eric Christopher9cad53c2013-04-03 18:31:38 +00004RUN: llvm-readobj -s -t -dt -dynamic-table -needed-libs \
5RUN: %p/Inputs/shared-object-test.elf-i386 \
David Meyerc429b802012-03-01 22:19:54 +00006RUN: | FileCheck %s -check-prefix ELF32
7
Eric Christopher9cad53c2013-04-03 18:31:38 +00008RUN: llvm-readobj -s -t -dt -dynamic-table -needed-libs \
9RUN: %p/Inputs/shared-object-test.elf-x86-64 \
David Meyer2fc34c52012-03-01 01:36:50 +000010RUN: | FileCheck %s -check-prefix ELF
Eric Christopher9cad53c2013-04-03 18:31:38 +000011RUN: llvm-readobj -s -t -dt -dynamic-table -needed-libs \
12RUN: %p/Inputs/shared-object-test.elf-x86-64 \
David Meyerc429b802012-03-01 22:19:54 +000013RUN: | FileCheck %s -check-prefix ELF64
14
Eric Christopher9cad53c2013-04-03 18:31:38 +000015ELF64: Format: ELF64-x86-64
16ELF64: Arch: x86_64
17ELF64: AddressSize: 64bit
18ELF64: LoadName: libfoo.so
David Meyerc429b802012-03-01 22:19:54 +000019
Eric Christopher9cad53c2013-04-03 18:31:38 +000020ELF32: Format: ELF32-i386
21ELF32: Arch: i386
22ELF32: AddressSize: 32bit
23ELF32: LoadName: libfoo.so
David Meyer2fc34c52012-03-01 01:36:50 +000024
Eric Christopher9cad53c2013-04-03 18:31:38 +000025ELF: Sections [
26ELF: Section {
27ELF: Name: (0)
28ELF: Type: SHT_NULL
29ELF: Flags [ (0x0)
30ELF: ]
31ELF: }
32ELF: Section {
33ELF: Name: .hash
34ELF: Type: SHT_HASH
35ELF: Flags [ (0x2)
36ELF: SHF_ALLOC
37ELF: ]
38ELF: }
39ELF: Section {
40ELF: Name: .dynsym
41ELF: Type: SHT_DYNSYM
42ELF: Flags [ (0x2)
43ELF: SHF_ALLOC
44ELF: ]
45ELF: }
46ELF: Section {
47ELF: Name: .dynstr
48ELF: Type: SHT_STRTAB
49ELF: Flags [ (0x2)
50ELF: SHF_ALLOC
51ELF: ]
52ELF: }
53ELF: Section {
54ELF: Name: .text
55ELF: Type: SHT_PROGBITS
56ELF: Flags [ (0x6)
57ELF: SHF_ALLOC
58ELF: SHF_EXECINSTR
59ELF: ]
60ELF: }
61ELF: Section {
62ELF: Name: .eh_frame
63ELF: Type: SHT_PROGBITS
64ELF: Flags [ (0x2)
65ELF: SHF_ALLOC
66ELF: ]
67ELF: }
68ELF: Section {
69ELF: Name: .tdata
70ELF: Type: SHT_PROGBITS
71ELF: Flags [ (0x403)
72ELF: SHF_ALLOC
73ELF: SHF_TLS
74ELF: SHF_WRITE
75ELF: ]
76ELF: }
77ELF: Section {
78ELF: Name: .dynamic
79ELF: Type: SHT_DYNAMIC
80ELF: Flags [ (0x3)
81ELF: SHF_ALLOC
82ELF: SHF_WRITE
83ELF: ]
84ELF: }
85ELF: Section {
86ELF: Name: .got.plt
87ELF: Type: SHT_PROGBITS
88ELF: Flags [ (0x3)
89ELF: SHF_ALLOC
90ELF: SHF_WRITE
91ELF: ]
92ELF: }
93ELF: Section {
94ELF: Name: .data
95ELF: Type: SHT_PROGBITS
96ELF: Flags [ (0x3)
97ELF: SHF_ALLOC
98ELF: SHF_WRITE
99ELF: ]
100ELF: }
101ELF: Section {
102ELF: Name: .bss
103ELF: Type: SHT_NOBITS
104ELF: Flags [ (0x3)
105ELF: SHF_ALLOC
106ELF: SHF_WRITE
107ELF: ]
108ELF: }
109ELF: Section {
110ELF: Name: .shstrtab
111ELF: Type: SHT_STRTAB
112ELF: Flags [ (0x0)
113ELF: ]
114ELF: }
115ELF: Section {
116ELF: Name: .symtab
117ELF: Type: SHT_SYMTAB
118ELF: Flags [ (0x0)
119ELF: ]
120ELF: }
121ELF: Section {
122ELF: Name: .strtab
123ELF: Type: SHT_STRTAB
124ELF: Flags [ (0x0)
125ELF: ]
126ELF: }
127ELF: ]
David Meyer2fc34c52012-03-01 01:36:50 +0000128
Eric Christopher9cad53c2013-04-03 18:31:38 +0000129ELF: Symbols [
130ELF: Symbol {
131ELF: Name: .hash
132ELF: Binding: Local
133ELF: Type: Section
134ELF: Section: .hash
135ELF: }
136ELF: Symbol {
137ELF: Name: .dynsym
138ELF: Binding: Local
139ELF: Type: Section
140ELF: Section: .dynsym
141ELF: }
142ELF: Symbol {
143ELF: Name: .dynstr
144ELF: Binding: Local
145ELF: Type: Section
146ELF: Section: .dynstr
147ELF: }
148ELF: Symbol {
149ELF: Name: .text
150ELF: Binding: Local
151ELF: Type: Section
152ELF: Section: .text
153ELF: }
154ELF: Symbol {
155ELF: Name: .eh_frame
156ELF: Binding: Local
157ELF: Type: Section
158ELF: Section: .eh_frame
159ELF: }
160ELF: Symbol {
161ELF: Name: .tdata
162ELF: Binding: Local
163ELF: Type: Section
164ELF: Section: .tdata
165ELF: }
166ELF: Symbol {
167ELF: Name: .dynamic
168ELF: Binding: Local
169ELF: Type: Section
170ELF: Section: .dynamic
171ELF: }
172ELF: Symbol {
173ELF: Name: .got.plt
174ELF: Binding: Local
175ELF: Type: Section
176ELF: Section: .got.plt
177ELF: }
178ELF: Symbol {
179ELF: Name: .data
180ELF: Binding: Local
181ELF: Type: Section
182ELF: Section: .data
183ELF: }
184ELF: Symbol {
185ELF: Name: .bss
186ELF: Binding: Local
187ELF: Type: Section
188ELF: Section: .bss
189ELF: }
190ELF: Symbol {
191ELF: Name: shared.ll
192ELF: Binding: Local
193ELF: Type: File
194ELF: Section: (0xFFF1)
195ELF: }
196ELF: Symbol {
197ELF: Name: local_func
198ELF: Binding: Local
199ELF: Type: Function
200ELF: Section: .text
201ELF: }
202ELF: Symbol {
203ELF: Name: _GLOBAL_OFFSET_TABLE_
204ELF: Binding: Local
205ELF: Type: Object
206ELF: Section: (0xFFF1)
207ELF: }
208ELF: Symbol {
209ELF: Name: _DYNAMIC
210ELF: Binding: Local
211ELF: Type: Object
212ELF: Section: (0xFFF1)
213ELF: }
214ELF: Symbol {
215ELF: Name: common_sym
216ELF: Binding: Global
217ELF: Type: Object
218ELF: Section: .bss
219ELF: }
220ELF: Symbol {
221ELF: Name: tls_sym
222ELF: Binding: Global
223ELF: Type: TLS
224ELF: Section: .tdata
225ELF: }
226ELF: Symbol {
227ELF: Name: defined_sym
228ELF: Binding: Global
229ELF: Type: Object
230ELF: Section: .data
231ELF: }
232ELF: Symbol {
233ELF: Name: __bss_start
234ELF: Binding: Global
235ELF: Type: None
236ELF: Section: (0xFFF1)
237ELF: }
238ELF: Symbol {
239ELF: Name: _end
240ELF: Binding: Global
241ELF: Type: None
242ELF: Section: (0xFFF1)
243ELF: }
244ELF: Symbol {
245ELF: Name: global_func
246ELF: Binding: Global
247ELF: Type: Function
248ELF: Section: .text
249ELF: }
250ELF: Symbol {
251ELF: Name: _edata
252ELF: Binding: Global
253ELF: Type: None
254ELF: Section: (0xFFF1)
255ELF: }
256ELF: ]
David Meyer2fc34c52012-03-01 01:36:50 +0000257
Eric Christopher9cad53c2013-04-03 18:31:38 +0000258ELF: DynamicSymbols [
259ELF: Symbol {
260ELF: Name: common_sym
261ELF: Binding: Global
262ELF: Type: Object
263ELF: Section: .bss
264ELF: }
265ELF: Symbol {
266ELF: Name: tls_sym
267ELF: Binding: Global
268ELF: Type: TLS
269ELF: Section: .tdata
270ELF: }
271ELF: Symbol {
272ELF: Name: defined_sym
273ELF: Binding: Global
274ELF: Type: Object
275ELF: Section: .data
276ELF: }
277ELF: Symbol {
278ELF: Name: __bss_start
279ELF: Binding: Global
280ELF: Type: None
281ELF: Section: (0xFFF1)
282ELF: }
283ELF: Symbol {
284ELF: Name: _end
285ELF: Binding: Global
286ELF: Type: None
287ELF: Section: (0xFFF1)
288ELF: }
289ELF: Symbol {
290ELF: Name: global_func
291ELF: Binding: Global
292ELF: Type: Function
293ELF: Section: .text
294ELF: }
295ELF: Symbol {
296ELF: Name: _edata
297ELF: Binding: Global
298ELF: Type: None
299ELF: Section: (0xFFF1)
300ELF: }
301ELF: ]
Rafael Espindola21bd8412012-12-31 16:29:44 +0000302
Eric Christopher9cad53c2013-04-03 18:31:38 +0000303ELF: DynamicSection [ (9 entries)
304ELF: Tag Type Name/Value
305ELF: 00000001 NEEDED SharedLibrary (libc.so.6)
306ELF: 00000001 NEEDED SharedLibrary (libm.so.6)
307ELF: 0000000E SONAME LibrarySoname (libfoo.so)
308ELF: 00000004 HASH {{[0-9a-f]+}}
309ELF: 00000005 STRTAB {{[0-9a-f]+}}
310ELF: 00000006 SYMTAB {{[0-9a-f]+}}
311ELF: 0000000A STRSZ {{[0-9]+}} (bytes)
312ELF: 0000000B SYMENT {{[0-9]+}} (bytes)
313ELF: 00000000 NULL 0x0
314ELF: ]
Michael J. Spencer6a8746b2013-02-20 02:37:12 +0000315
Eric Christopher9cad53c2013-04-03 18:31:38 +0000316ELF: NeededLibraries [
317ELF-NEXT: libc.so.6
318ELF-NEXT: libm.so.6
319ELF-NEXT: ]