1# RUN: yaml2obj %s -o %t 2# RUN: llvm-ifs --input-format=ELF --output-format=IFS --output=- %t | FileCheck %s 3 4!ELF 5FileHeader: 6 Class: ELFCLASS64 7 Data: ELFDATA2LSB 8 Type: ET_DYN 9 Machine: EM_X86_64 10Sections: 11 - Name: .dynstr 12 Type: SHT_STRTAB 13 Flags: [ SHF_ALLOC ] 14 Address: 0x1000 15 # "\0libfoo.so\0libbar.so\0somelib.so\0foo\0" 16 Content: "006c6962666f6f2e736f006c69626261722e736f00736f6d656c69622e736f00666f6f00" 17 - Name: .dynamic 18 Type: SHT_DYNAMIC 19 Flags: [ SHF_ALLOC ] 20 Address: 0x0000000000001024 21 EntSize: 0x0000000000000010 22 Entries: 23 - Tag: DT_NEEDED 24 Value: 0x0000000000000001 25 - Tag: DT_SONAME 26 Value: 0x0000000000000015 27 - Tag: DT_NEEDED 28 Value: 0x000000000000000B 29 - Tag: DT_STRSZ 30 Value: 0x0000000000000024 31 - Tag: DT_STRTAB 32 Value: 0x0000000000001000 33 - Tag: DT_SYMTAB 34 Value: 0x0000000000001000 35 - Tag: DT_NULL 36 Value: 0x0000000000000000 37ProgramHeaders: 38 - Type: PT_LOAD 39 Flags: [ PF_R ] 40 VAddr: 0x1000 41 Align: 8 42 FirstSec: .dynstr 43 LastSec: .dynamic 44 - Type: PT_DYNAMIC 45 Flags: [ PF_X, PF_R ] 46 VAddr: 0x1024 47 48# CHECK: NeededLibs: 49# CHECK-NEXT: - libfoo.so{{$}} 50# CHECK-NEXT: - libbar.so{{$}} 51# CHECK-NEXT: Symbols: [] 52