# RUN: yaml2obj %s -o %t # RUN: not llvm-ifs --input-format=ELF --output-ifs=%t.tbe %t 2>&1 | FileCheck %s !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_DYN Machine: EM_X86_64 Sections: - Name: .dynstr Type: SHT_STRTAB Flags: [ SHF_ALLOC ] Address: 0x1000 # "\0libfoo.so\0libbar.so\0somelib.so\0foo\0" Content: "006c6962666f6f2e736f006c69626261722e736f00736f6d656c69622e736f00666f6f00" - Name: .dynamic Type: SHT_DYNAMIC Flags: [ SHF_ALLOC ] Address: 0x0000000000001024 EntSize: 0x0000000000000010 Entries: - Tag: DT_NEEDED Value: 0x0000000000000001 - Tag: DT_SONAME Value: 0x0000000000000015 # Bad DT_NEEDED entry (offset outside string table): - Tag: DT_NEEDED Value: 0x000000000000FFFF - Tag: DT_STRSZ Value: 0x0000000000000024 - Tag: DT_STRTAB Value: 0x0000000000001000 - Tag: DT_SYMTAB Value: 0x0000000000001000 - Tag: DT_NULL Value: 0x0000000000000000 ProgramHeaders: - Type: PT_LOAD Flags: [ PF_R ] VAddr: 0x1000 Align: 8 FirstSec: .dynstr LastSec: .dynamic - Type: PT_DYNAMIC Flags: [ PF_X, PF_R ] VAddr: 0x1024 # CHECK: DT_NEEDED string offset (0x000000000000ffff) outside of dynamic string table