blob: 548bd3801e0b802dfb3f954dcaf21f6224412d9f [file] [log] [blame]
David Meyer2fc34c52012-03-01 01:36:50 +00001RUN: llvm-readobj %p/Inputs/shared-object-test.elf-i386 \
2RUN: | FileCheck %s -check-prefix ELF
David Meyerc429b802012-03-01 22:19:54 +00003RUN: llvm-readobj %p/Inputs/shared-object-test.elf-i386 \
4RUN: | FileCheck %s -check-prefix ELF32
5
David Meyer2fc34c52012-03-01 01:36:50 +00006RUN: llvm-readobj %p/Inputs/shared-object-test.elf-x86-64 \
7RUN: | FileCheck %s -check-prefix ELF
David Meyerc429b802012-03-01 22:19:54 +00008RUN: llvm-readobj %p/Inputs/shared-object-test.elf-x86-64 \
9RUN: | FileCheck %s -check-prefix ELF64
10
11ELF64:File Format : ELF64-x86-64
12ELF64:Arch : x86_64
13ELF64:Address Size: 64 bits
14ELF64:Load Name : libfoo.so
15
16ELF32:File Format : ELF32-i386
17ELF32:Arch : i386
18ELF32:Address Size: 32 bits
19ELF32:Load Name : libfoo.so
David Meyer2fc34c52012-03-01 01:36:50 +000020
21ELF:Symbols:
Shankar Easwaran82050342013-03-25 16:06:51 +000022ELF: Name Type Section Address Size FileOffset Flags
23ELF: .dynsym DBG .dynsym {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} formatspecific
24ELF: .dynstr DBG .dynstr {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} formatspecific
25ELF: .text DBG .text {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} formatspecific
26ELF: .eh_frame DBG .eh_frame {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} formatspecific
27ELF: .tdata DBG .tdata {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} formatspecific
28ELF: .dynamic DBG .dynamic {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} formatspecific
29ELF: .got.plt DBG .got.plt {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} formatspecific
30ELF: .data DBG .data {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} formatspecific
31ELF: .bss DBG .bss {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} formatspecific
32ELF: shared.ll FILE {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} absolute,formatspecific
33ELF: local_func FUNC .text {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}}
34ELF: _GLOBAL_OFFSET_TABLE_ DATA {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} absolute
35ELF: _DYNAMIC DATA {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} absolute
36ELF: common_sym DATA .bss {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global
37ELF: tls_sym DATA .tdata {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global,threadlocal
38ELF: defined_sym DATA .data {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global
39ELF: __bss_start ? {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global,absolute
40ELF: _end ? {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global,absolute
41ELF: global_func FUNC .text {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global
42ELF: _edata ? {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global,absolute
David Meyer2fc34c52012-03-01 01:36:50 +000043ELF: Total: 21
44
45ELF:Dynamic Symbols:
Shankar Easwaran82050342013-03-25 16:06:51 +000046ELF: Name Type Section Address Size FileOffset Flags
47ELF: common_sym DATA .bss {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global
48ELF: tls_sym DATA .tdata {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global,threadlocal
49ELF: defined_sym DATA .data {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global
David Meyer2fc34c52012-03-01 01:36:50 +000050ELF: __bss_start ? {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global,absolute
51ELF: _end ? {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global,absolute
Shankar Easwaran82050342013-03-25 16:06:51 +000052ELF: global_func FUNC .text {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global
David Meyer2fc34c52012-03-01 01:36:50 +000053ELF: _edata ? {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} global,absolute
54ELF: Total: {{[0-9a-f]+}}
55
Rafael Espindola21bd8412012-12-31 16:29:44 +000056ELF:Sections:
57ELF: Name Address Size Align Flags
58ELF: {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} rodata
59ELF: .hash {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} required,rodata
60ELF: .dynsym {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} required,rodata
61ELF: .dynstr {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} required,rodata
62ELF: .text {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} text,{{(data,)?}}required
63ELF: .eh_frame {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} data,required,rodata
64ELF: .tdata {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} data,required
65ELF: .dynamic {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} required
66ELF: .got.plt {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} data,required
67ELF: .data {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} data,required
Rafael Espindolac8288c12012-12-31 18:20:51 +000068ELF: .bss {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} bss,required,virtual,zeroinit
Rafael Espindola21bd8412012-12-31 16:29:44 +000069ELF: .shstrtab {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} rodata
70ELF: .symtab {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} rodata
71ELF: .strtab {{[0-9a-f]+}} {{[0-9a-f]+}} {{[0-9a-f]+}} rodata
72ELF: Total: 14
73
Michael J. Spencer6a8746b2013-02-20 02:37:12 +000074ELF:Dynamic section contains 9 entries
75ELF: Tag Type Name/Value
76ELF: 00000001 (NEEDED) Shared library: [libc.so.6]
77ELF: 00000001 (NEEDED) Shared library: [libm.so.6]
78ELF: 0000000e (SONAME) Library soname: [libfoo.so]
79ELF: 00000004 (HASH) {{[0-9a-f]+}}
80ELF: 00000005 (STRTAB) {{[0-9a-f]+}}
81ELF: 00000006 (SYMTAB) {{[0-9a-f]+}}
82ELF: 0000000a (STRSZ) {{[0-9]+}} (bytes)
83ELF: 0000000b (SYMENT) {{[0-9]+}} (bytes)
84ELF: 00000000 (NULL) 0x0
85ELF: Total: 9
86
David Meyer2fc34c52012-03-01 01:36:50 +000087ELF:Libraries needed:
88ELF: libc.so.6
89ELF: libm.so.6
90ELF: Total: 2
91
92