summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-readobj
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-readobj')
-rw-r--r--llvm/test/tools/llvm-readobj/elf-dynamic-malformed.test18
-rw-r--r--llvm/test/tools/llvm-readobj/elf-dynamic-no-pt-dynamic.test14
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:
OpenPOWER on IntegriCloud