| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- RUN: llvm-readobj -s -t -dt -dynamic-table -needed-libs \
- RUN: %p/Inputs/shared-object-test.elf-i386 \
- RUN: | FileCheck %s -check-prefix ELF
- RUN: llvm-readobj -s -t -dt -dynamic-table -needed-libs \
- RUN: %p/Inputs/shared-object-test.elf-i386 \
- RUN: | FileCheck %s -check-prefix ELF32
- RUN: llvm-readobj -s -t -dt -dynamic-table -needed-libs \
- RUN: %p/Inputs/shared-object-test.elf-x86-64 \
- RUN: | FileCheck %s -check-prefix ELF
- RUN: llvm-readobj -s -t -dt -dynamic-table -needed-libs \
- RUN: %p/Inputs/shared-object-test.elf-x86-64 \
- RUN: | FileCheck %s -check-prefix ELF64
- ELF64: Format: ELF64-x86-64
- ELF64: Arch: x86_64
- ELF64: AddressSize: 64bit
- ELF64: LoadName: libfoo.so
- ELF32: Format: ELF32-i386
- ELF32: Arch: i386
- ELF32: AddressSize: 32bit
- ELF32: LoadName: libfoo.so
- ELF: Sections [
- ELF: Section {
- ELF: Name: (0)
- ELF: Type: SHT_NULL
- ELF: Flags [ (0x0)
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .hash
- ELF: Type: SHT_HASH
- ELF: Flags [ (0x2)
- ELF: SHF_ALLOC
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .dynsym
- ELF: Type: SHT_DYNSYM
- ELF: Flags [ (0x2)
- ELF: SHF_ALLOC
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .dynstr
- ELF: Type: SHT_STRTAB
- ELF: Flags [ (0x2)
- ELF: SHF_ALLOC
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .text
- ELF: Type: SHT_PROGBITS
- ELF: Flags [ (0x6)
- ELF: SHF_ALLOC
- ELF: SHF_EXECINSTR
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .eh_frame
- ELF: Type: SHT_PROGBITS
- ELF: Flags [ (0x2)
- ELF: SHF_ALLOC
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .tdata
- ELF: Type: SHT_PROGBITS
- ELF: Flags [ (0x403)
- ELF: SHF_ALLOC
- ELF: SHF_TLS
- ELF: SHF_WRITE
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .dynamic
- ELF: Type: SHT_DYNAMIC
- ELF: Flags [ (0x3)
- ELF: SHF_ALLOC
- ELF: SHF_WRITE
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .got.plt
- ELF: Type: SHT_PROGBITS
- ELF: Flags [ (0x3)
- ELF: SHF_ALLOC
- ELF: SHF_WRITE
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .data
- ELF: Type: SHT_PROGBITS
- ELF: Flags [ (0x3)
- ELF: SHF_ALLOC
- ELF: SHF_WRITE
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .bss
- ELF: Type: SHT_NOBITS
- ELF: Flags [ (0x3)
- ELF: SHF_ALLOC
- ELF: SHF_WRITE
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .shstrtab
- ELF: Type: SHT_STRTAB
- ELF: Flags [ (0x0)
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .symtab
- ELF: Type: SHT_SYMTAB
- ELF: Flags [ (0x0)
- ELF: ]
- ELF: }
- ELF: Section {
- ELF: Name: .strtab
- ELF: Type: SHT_STRTAB
- ELF: Flags [ (0x0)
- ELF: ]
- ELF: }
- ELF: ]
- ELF: Symbols [
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .hash
- ELF: }
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .dynsym
- ELF: }
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .dynstr
- ELF: }
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .text
- ELF: }
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .eh_frame
- ELF: }
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .tdata
- ELF: }
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .dynamic
- ELF: }
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .got.plt
- ELF: }
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .data
- ELF: }
- ELF: Symbol {
- ELF: Name: (0)
- ELF: Binding: Local
- ELF: Type: Section
- ELF: Section: .bss
- ELF: }
- ELF: Symbol {
- ELF: Name: shared.ll
- ELF: Binding: Local
- ELF: Type: File
- ELF: Section: Absolute (0xFFF1)
- ELF: }
- ELF: Symbol {
- ELF: Name: local_func
- ELF: Binding: Local
- ELF: Type: Function
- ELF: Section: .text
- ELF: }
- ELF: Symbol {
- ELF: Name: _GLOBAL_OFFSET_TABLE_
- ELF: Binding: Local
- ELF: Type: Object
- ELF: Section: Absolute (0xFFF1)
- ELF: }
- ELF: Symbol {
- ELF: Name: _DYNAMIC
- ELF: Binding: Local
- ELF: Type: Object
- ELF: Section: Absolute (0xFFF1)
- ELF: }
- ELF: Symbol {
- ELF: Name: common_sym
- ELF: Binding: Global
- ELF: Type: Object
- ELF: Section: .bss
- ELF: }
- ELF: Symbol {
- ELF: Name: tls_sym
- ELF: Binding: Global
- ELF: Type: TLS
- ELF: Section: .tdata
- ELF: }
- ELF: Symbol {
- ELF: Name: defined_sym
- ELF: Binding: Global
- ELF: Type: Object
- ELF: Section: .data
- ELF: }
- ELF: Symbol {
- ELF: Name: __bss_start
- ELF: Binding: Global
- ELF: Type: None
- ELF: Section: Absolute (0xFFF1)
- ELF: }
- ELF: Symbol {
- ELF: Name: _end
- ELF: Binding: Global
- ELF: Type: None
- ELF: Section: Absolute (0xFFF1)
- ELF: }
- ELF: Symbol {
- ELF: Name: global_func
- ELF: Binding: Global
- ELF: Type: Function
- ELF: Section: .text
- ELF: }
- ELF: Symbol {
- ELF: Name: _edata
- ELF: Binding: Global
- ELF: Type: None
- ELF: Section: Absolute (0xFFF1)
- ELF: }
- ELF: ]
- ELF: DynamicSymbols [
- ELF: Symbol {
- ELF: Name: common_sym
- ELF: Binding: Global
- ELF: Type: Object
- ELF: Section: .bss
- ELF: }
- ELF: Symbol {
- ELF: Name: tls_sym
- ELF: Binding: Global
- ELF: Type: TLS
- ELF: Section: .tdata
- ELF: }
- ELF: Symbol {
- ELF: Name: defined_sym
- ELF: Binding: Global
- ELF: Type: Object
- ELF: Section: .data
- ELF: }
- ELF: Symbol {
- ELF: Name: __bss_start
- ELF: Binding: Global
- ELF: Type: None
- ELF: Section: Absolute (0xFFF1)
- ELF: }
- ELF: Symbol {
- ELF: Name: _end
- ELF: Binding: Global
- ELF: Type: None
- ELF: Section: Absolute (0xFFF1)
- ELF: }
- ELF: Symbol {
- ELF: Name: global_func
- ELF: Binding: Global
- ELF: Type: Function
- ELF: Section: .text
- ELF: }
- ELF: Symbol {
- ELF: Name: _edata
- ELF: Binding: Global
- ELF: Type: None
- ELF: Section: Absolute (0xFFF1)
- ELF: }
- ELF: ]
- ELF: DynamicSection [ (9 entries)
- ELF: Tag Type Name/Value
- ELF: 00000001 NEEDED SharedLibrary (libc.so.6)
- ELF: 00000001 NEEDED SharedLibrary (libm.so.6)
- ELF: 0000000E SONAME LibrarySoname (libfoo.so)
- ELF: 00000004 HASH {{[0-9a-f]+}}
- ELF: 00000005 STRTAB {{[0-9a-f]+}}
- ELF: 00000006 SYMTAB {{[0-9a-f]+}}
- ELF: 0000000A STRSZ {{[0-9]+}} (bytes)
- ELF: 0000000B SYMENT {{[0-9]+}} (bytes)
- ELF: 00000000 NULL 0x0
- ELF: ]
- ELF: NeededLibraries [
- ELF-NEXT: libc.so.6
- ELF-NEXT: libm.so.6
- ELF-NEXT: ]
|