diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Object/corrupt.test | 4 | ||||
-rw-r--r-- | llvm/test/Object/invalid.test | 3 | ||||
-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 | ||||
-rw-r--r-- | llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml | 6 |
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: |