1# RUN: yaml2obj %s -o %t.o 2# RUN: llvm-readobj -a %t.o | FileCheck %s --check-prefix LLVM-ALL 3# RUN: llvm-readobj --all %t.o | FileCheck %s --check-prefix LLVM-ALL 4 5# LLVM-ALL: Format: elf32-i386 6# LLVM-ALL: Arch: i386 7# LLVM-ALL: AddressSize: 32bit 8# LLVM-ALL: LoadName: 9# LLVM-ALL: ElfHeader { 10# LLVM-ALL: Sections [ 11# LLVM-ALL: ProgramHeaders [ 12# LLVM-ALL: Relocations [ 13# LLVM-ALL: EHFrameHeader { 14# LLVM-ALL: .eh_frame section at offset 0x1128 address 0x0: 15# LLVM-ALL: Symbols [ 16# LLVM-ALL: VersionSymbols [ 17# LLVM-ALL: VersionDefinitions [ 18# LLVM-ALL: VersionRequirements [ 19# LLVM-ALL: Addrsig [ 20# LLVM-ALL: Notes [ 21# LLVM-ALL: StackSizes [ 22 23# RUN: llvm-readelf -a %t.o | FileCheck %s --check-prefix GNU-ALL 24# RUN: llvm-readelf --all %t.o | FileCheck %s --check-prefix GNU-ALL 25 26# GNU-ALL: ELF Header: 27# GNU-ALL: There are {{.*}} section headers, starting at offset {{.*}}: 28# GNU-ALL: Program Headers: 29# GNU-ALL: Dynamic section at offset {{.*}} contains {{.*}} entries: 30# GNU-ALL: Relocation section '.rela.data' at offset {{.*}} contains {{.*}} entries: 31# GNU-ALL: EHFrameHeader { 32# GNU-ALL: .eh_frame section at offset {{.*}} address 0x0: 33# GNU-ALL: Symbol table '.symtab' contains {{.*}} entries: 34# GNU-ALL: Version symbols section '.gnu.version' contains {{.*}} entries: 35# GNU-ALL: Version definition section '.gnu.version_d' contains {{.*}} entries: 36# GNU-ALL: Version needs section '.gnu.version_r' contains {{.*}} entries: 37# GNU-ALL: There are no section groups in this file. 38# GNU-ALL: Histogram for bucket list length (total of 1 buckets) 39# GNU-ALL: Displaying notes found 40 41--- !ELF 42FileHeader: 43 Class: ELFCLASS32 44 Data: ELFDATA2LSB 45 Type: ET_REL 46 Machine: EM_386 47Sections: 48 - Name: .data 49 Type: SHT_PROGBITS 50 - Name: .rela.data 51 Type: SHT_REL 52 Relocations: 53 - Name: .gnu.version 54 Type: SHT_GNU_versym 55 Entries: [ 0 ] 56 - Name: .gnu.version_d 57 Type: SHT_GNU_verdef 58 Entries: [] 59 - Name: .gnu.version_r 60 Type: SHT_GNU_verneed 61 Dependencies: 62 - Version: 1 63 File: verneed1.so.0 64 Entries: [] 65 - Name: .dynamic 66 Type: SHT_DYNAMIC 67 Address: 0x1000 68 AddressAlign: 0x1000 69 Entries: 70 - Tag: DT_HASH 71 Value: 0x1100 72 - Tag: DT_NULL 73 Value: 0 74 - Name: .hash 75 Type: SHT_HASH 76 Link: 0 77 Bucket: [ 1 ] 78 Chain: [ 0, 0 ] 79 Address: 0x1100 80 AddressAlign: 0x100 81 - Name: .eh_frame_hdr 82 Type: SHT_PROGBITS 83## An arbitrary linker-generated valid content. 84 Content: 011b033b140000000100000000f0ffff30000000 85 - Name: .eh_frame 86 Type: SHT_PROGBITS 87 AddressAlign: 8 88## An arbitrary linker-generated valid content. 89 Content: 1400000000000000017a5200017810011b0c070890010000100000001c000000c8efffff0100000000000000 90 - Name: .note.gnu.build-id 91 Type: SHT_NOTE 92 Flags: [ SHF_ALLOC ] 93 Address: 0x1500 94## An arbitrary linker-generated valid content. 95 Content: 040000001000000003000000474E55004FCB712AA6387724A9F465A32CD8C14B 96ProgramHeaders: 97 - Type: PT_LOAD 98 VAddr: 0x1000 99 FirstSec: .dynamic 100 LastSec: .hash 101 - Type: PT_DYNAMIC 102 FirstSec: .dynamic 103 LastSec: .dynamic 104 - Type: PT_GNU_EH_FRAME 105 FirstSec: .eh_frame_hdr 106 LastSec: .eh_frame_hdr 107 - Type: PT_NOTE 108 FirstSec: .note.gnu.build-id 109 LastSec: .note.gnu.build-id 110Symbols: [] 111DynamicSymbols: 112 - Name: foo 113