diff options
Diffstat (limited to 'llvm/test/tools/llvm-readobj')
-rw-r--r-- | llvm/test/tools/llvm-readobj/elf-dynamic-malformed.test | 18 | ||||
-rw-r--r-- | llvm/test/tools/llvm-readobj/elf-dynamic-no-pt-dynamic.test | 14 |
2 files changed, 24 insertions, 8 deletions
diff --git a/llvm/test/tools/llvm-readobj/elf-dynamic-malformed.test b/llvm/test/tools/llvm-readobj/elf-dynamic-malformed.test index aaee340e1cc..abc0f89310c 100644 --- a/llvm/test/tools/llvm-readobj/elf-dynamic-malformed.test +++ b/llvm/test/tools/llvm-readobj/elf-dynamic-malformed.test @@ -114,7 +114,8 @@ ProgramHeaders: # RUN: not llvm-readobj --dynamic-table %t.bad-strtab 2>&1 | FileCheck %s --check-prefix BAD-STRTAB # RUN: not llvm-readelf --dynamic-table %t.bad-strtab 2>&1 | FileCheck %s --check-prefix BAD-STRTAB -# BAD-STRTAB: LLVM ERROR: Virtual address is not in any segment +# BAD-STRTAB: warning: Unable to parse DT_STRTAB: Virtual address is not in any segment +# BAD-STRTAB: error: Invalid dynamic string table reference --- !ELF FileHeader: @@ -147,10 +148,19 @@ ProgramHeaders: # Test handling of other d_ptr tags pointing outside the file's address space. # RUN: yaml2obj %s --docnum=5 -o %t.bad-rela -# RUN: not llvm-readobj --dynamic-table %t.bad-rela 2>&1 | FileCheck %s --check-prefix BAD-RELA -# RUN: not llvm-readelf --dynamic-table %t.bad-rela 2>&1 | FileCheck %s --check-prefix BAD-RELA +# RUN: llvm-readobj --dynamic-table %t.bad-rela 2>&1 | FileCheck %s --check-prefixes=CHECK,BAD-RELA +# RUN: llvm-readelf --dynamic-table %t.bad-rela 2>&1 | FileCheck %s --check-prefixes=CHECK,BAD-RELA-GNU -# BAD-RELA: LLVM ERROR: Virtual address is not in any segment +# CHECK: warning: Unable to parse DT_RELA: Virtual address is not in any segment +# BAD-RELA: DynamicSection [ (2 entries) +# BAD-RELA-NEXT: Tag Type Name/Value +# BAD-RELA-NEXT: 0x0000000000000007 RELA 0x1000000 +# BAD-RELA-NEXT: 0x0000000000000000 NULL 0x0 +# BAD-RELA-NEXT: ] +# BAD-RELA-GNU: Dynamic section at offset 0x1f0 contains 2 entries: +# BAD-RELA-GNU-NEXT: Tag Type Name/Value +# BAD-RELA-GNU-NEXT: 0x0000000000000007 (RELA) 0x1000000 +# BAD-RELA-GNU-NEXT: 0x0000000000000000 (NULL) 0x0 --- !ELF FileHeader: diff --git a/llvm/test/tools/llvm-readobj/elf-dynamic-no-pt-dynamic.test b/llvm/test/tools/llvm-readobj/elf-dynamic-no-pt-dynamic.test index 3ef293714a8..89e660337b5 100644 --- a/llvm/test/tools/llvm-readobj/elf-dynamic-no-pt-dynamic.test +++ b/llvm/test/tools/llvm-readobj/elf-dynamic-no-pt-dynamic.test @@ -1,16 +1,22 @@ -# Show that no dumping occurs if there is no PT_DYNAMIC header. +## Show that dumping occurs even if there is no PT_DYNAMIC header. +## This is inconsistent with the GNU behavior, but seems to be more reasonable. # RUN: yaml2obj %s -o %t.no-phdr # RUN: llvm-readobj --dynamic-table %t.no-phdr | FileCheck %s --check-prefix=LLVM -# RUN: llvm-readelf --dynamic-table %t.no-phdr | FileCheck %s --check-prefix=GNU --allow-empty +# RUN: llvm-readelf --dynamic-table %t.no-phdr | FileCheck %s --check-prefix=GNU # LLVM: File: {{.*}}.no-phdr # LLVM-NEXT: Format: ELF64-x86-64 # LLVM-NEXT: Arch: x86_64 # LLVM-NEXT: AddressSize: 64bit # LLVM-NEXT: LoadName:{{ *}} -# LLVM-NOT: {{.}} +# LLVM-NEXT: DynamicSection [ (1 entries) +# LLVM-NEXT: Tag Type Name/Value +# LLVM-NEXT: 0x0000000000000000 NULL 0x0 +# LLVM-NEXT: ] -# GNU-NOT: {{.}} +# GNU: Dynamic section at offset 0x1b8 contains 1 entries: +# GNU-NEXT: Tag Type Name/Value +# GNU-NEXT: 0x0000000000000000 (NULL) 0x0 --- !ELF FileHeader: |