summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Object/corrupt.test4
-rw-r--r--llvm/test/Object/invalid.test3
-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
-rw-r--r--llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml6
5 files changed, 29 insertions, 16 deletions
diff --git a/llvm/test/Object/corrupt.test b/llvm/test/Object/corrupt.test
index c98757885aa..49f973d43b1 100644
--- a/llvm/test/Object/corrupt.test
+++ b/llvm/test/Object/corrupt.test
@@ -38,11 +38,11 @@ RUN: FileCheck --check-prefix=PHENTSIZE %s
PHENTSIZE: invalid e_phentsize
-RUN: not llvm-readobj --dynamic-table \
+RUN: llvm-readobj --dynamic-table \
RUN: %p/Inputs/corrupt-invalid-virtual-addr.elf.x86-64 2>&1 | \
RUN: FileCheck --check-prefix=VIRTADDR %s
-VIRTADDR: Virtual address is not in any segment
+VIRTADDR: warning: Unable to parse DT_STRTAB: Virtual address is not in any segment
RUN: not llvm-readobj --dyn-relocations \
diff --git a/llvm/test/Object/invalid.test b/llvm/test/Object/invalid.test
index 6f94f9d218d..921a5d6a7bc 100644
--- a/llvm/test/Object/invalid.test
+++ b/llvm/test/Object/invalid.test
@@ -40,9 +40,6 @@ SECTION-NEXT: EntrySize: 32
RUN: not llvm-readobj --symbols %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-SYM-SIZE %s
INVALID-SYM-SIZE: invalid sh_entsize
-RUN: not llvm-readobj --dyn-symbols %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-DYNSYM-SIZE %s
-INVALID-DYNSYM-SIZE: Invalid entity size
-
RUN: not llvm-readobj --symbols %p/Inputs/invalid-section-index.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-INDEX %s
INVALID-SECTION-INDEX: invalid section index
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:
diff --git a/llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml b/llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml
index 37af06755a9..81008bcd852 100644
--- a/llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml
+++ b/llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml
@@ -10,10 +10,10 @@
# RAW-NEXT: ]
# RAW-NEXT: Address:
# RAW-NEXT: Offset:
-# RAW-NEXT: Size: 5
+# RAW-NEXT: Size: 16
# RAW: Hex dump of section '.dynamic':
-# RAW-NEXT: 0x00000000 01234567 89 {{.*}}
+# RAW-NEXT: 0x00000000 01234567 89012345 67890000 00000000 {{.*}}
# RUN: not yaml2obj --docnum=2 %s -o %t2 2>&1 | FileCheck %s --check-prefix=ERR
# ERR: Cannot specify both raw content and explicit entries for dynamic section '.dynamic'.
@@ -27,7 +27,7 @@ FileHeader:
Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
- Content: "0123456789"
+ Content: "01234567890123456789000000000000"
--- !ELF
FileHeader:
OpenPOWER on IntegriCloud