diff options
Diffstat (limited to 'llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test')
-rw-r--r-- | llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test b/llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test new file mode 100644 index 00000000000..5dc96df38a2 --- /dev/null +++ b/llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test @@ -0,0 +1,44 @@ +# RUN: yaml2obj %s > %t +# RUN: not llvm-elfabi --elf %t --emit-tbe=%t.tbe 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 + Content: "00" + - Name: .dynamic + Type: SHT_DYNAMIC + Flags: [ SHF_ALLOC ] + Address: 0x1008 + AddressAlign: 8 + Content: "0e0000000000000000000000000000000a0000000000000001000000000000000500000000000000600200000000000000000000000000000000000000000000" + # DT_SONAME 0 + # DT_STRSZ 1 + # DT_STRTAB 0x0260 # Bad vaddr (no PT_LOAD for 0x0000 to 0x0FFF) + # DT_NULL 0x0 + Size: 64 + Link: .dynstr +ProgramHeaders: + - Type: PT_LOAD + Flags: [ PF_R ] + VAddr: 0x1000 + PAddr: 0x1000 + Align: 8 + Sections: + - Section: .dynstr + - Section: .dynamic + - Type: PT_DYNAMIC + Flags: [ PF_X, PF_R ] + VAddr: 0x1008 + PAddr: 0x1008 + Sections: + - Section: .dynamic + +# CHECK: Virtual address is not in any segment when locating .dynstr section contents |