summaryrefslogtreecommitdiff
path: root/test/Object
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2015-06-09 19:06:30 +0000
committerDimitry Andric <dim@FreeBSD.org>2015-06-09 19:06:30 +0000
commit85d8b2bbe386bcfe669575d05b61482d7be07e5d (patch)
tree1dc5e75ab222a9ead44c699eceafab7a6ca7b310 /test/Object
parent5a5ac124e1efaf208671f01c46edb15f29ed2a0b (diff)
Notes
Diffstat (limited to 'test/Object')
-rw-r--r--test/Object/Inputs/macho-invalid-headerbin0 -> 24 bytes
-rw-r--r--test/Object/Inputs/macho64-invalid-incomplete-segment-load-commandbin0 -> 64 bytes
-rw-r--r--test/Object/Inputs/no-start-symbol.elf-x86_64bin0 -> 544 bytes
-rw-r--r--test/Object/X86/no-start-symbol.test9
-rw-r--r--test/Object/macho-invalid.test18
-rw-r--r--test/Object/obj2yaml.test47
-rw-r--r--test/Object/readobj-shared-object.test20
7 files changed, 46 insertions, 48 deletions
diff --git a/test/Object/Inputs/macho-invalid-header b/test/Object/Inputs/macho-invalid-header
new file mode 100644
index 000000000000..da52d43a03a4
--- /dev/null
+++ b/test/Object/Inputs/macho-invalid-header
Binary files differ
diff --git a/test/Object/Inputs/macho64-invalid-incomplete-segment-load-command b/test/Object/Inputs/macho64-invalid-incomplete-segment-load-command
new file mode 100644
index 000000000000..82ec7246bdb7
--- /dev/null
+++ b/test/Object/Inputs/macho64-invalid-incomplete-segment-load-command
Binary files differ
diff --git a/test/Object/Inputs/no-start-symbol.elf-x86_64 b/test/Object/Inputs/no-start-symbol.elf-x86_64
new file mode 100644
index 000000000000..b2c9edc300d0
--- /dev/null
+++ b/test/Object/Inputs/no-start-symbol.elf-x86_64
Binary files differ
diff --git a/test/Object/X86/no-start-symbol.test b/test/Object/X86/no-start-symbol.test
new file mode 100644
index 000000000000..b468894c7b6b
--- /dev/null
+++ b/test/Object/X86/no-start-symbol.test
@@ -0,0 +1,9 @@
+RUN: llvm-objdump -d %p/../Inputs/no-start-symbol.elf-x86_64 | FileCheck %s
+
+Test that we disassemble the start of the section.
+
+CHECK: Disassembly of section .text:
+CHECK-NEXT: .text:
+CHECK-NEXT: 0: 90 nop
+CHECK: foo:
+CHECK-NEXT: 1: 90 nop
diff --git a/test/Object/macho-invalid.test b/test/Object/macho-invalid.test
index e2c9b6b7360e..f4aa1e0c2984 100644
--- a/test/Object/macho-invalid.test
+++ b/test/Object/macho-invalid.test
@@ -3,36 +3,40 @@ RUN: llvm-objdump -private-headers %p/Inputs/macho-invalid-zero-ncmds
RUN: not llvm-objdump -private-headers %p/Inputs/macho64-invalid-incomplete-load-command 2>&1 \
RUN: | FileCheck -check-prefix INCOMPLETE-LOADC %s
+INCOMPLETE-LOADC: Invalid data was encountered while parsing the file.
RUN: not llvm-objdump -private-headers %p/Inputs/macho-invalid-too-small-load-command 2>&1 \
RUN: | FileCheck -check-prefix SMALL-LOADC-SIZE %s
RUN: not llvm-objdump -private-headers %p/Inputs/macho64-invalid-too-small-load-command 2>&1 \
RUN: | FileCheck -check-prefix SMALL-LOADC-SIZE %s
+SMALL-LOADC-SIZE: Mach-O load command with size < 8 bytes
RUN: not llvm-objdump -private-headers %p/Inputs/macho-invalid-too-small-segment-load-command 2>&1 \
RUN: | FileCheck -check-prefix SMALL-SEGLOADC-SIZE %s
RUN: not llvm-objdump -private-headers %p/Inputs/macho64-invalid-too-small-segment-load-command 2>&1 \
RUN: | FileCheck -check-prefix SMALL-SEGLOADC-SIZE %s
+SMALL-SEGLOADC-SIZE: Mach-O segment load command size is too small
RUN: not llvm-objdump -private-headers %p/Inputs/macho-invalid-no-size-for-sections 2>&1 \
RUN: | FileCheck -check-prefix TOO-MANY-SECTS %s
RUN: not llvm-objdump -private-headers %p/Inputs/macho64-invalid-no-size-for-sections 2>&1 \
RUN: | FileCheck -check-prefix TOO-MANY-SECTS %s
+TOO-MANY-SECTS: Mach-O segment load command contains too many sections
RUN: not llvm-objdump -t %p/Inputs/macho-invalid-bad-symbol-index 2>&1 \
RUN: | FileCheck -check-prefix BAD-SYMBOL %s
+BAD-SYMBOL: Requested symbol index is out of range
RUN: not llvm-objdump -t %p/Inputs/macho-invalid-symbol-name-past-eof 2>&1 \
RUN: | FileCheck -check-prefix NAME-PAST-EOF %s
+NAME-PAST-EOF: Symbol name entry points before beginning or past end of file
RUN: not llvm-nm %p/Inputs/macho-invalid-section-index-getSectionRawName 2>&1 \
RUN: | FileCheck -check-prefix INVALID-SECTION-IDX-SYMBOL-SEC %s
+INVALID-SECTION-IDX-SYMBOL-SEC: getSymbolSection: Invalid section index
-SMALL-LOADC-SIZE: Load command with size < 8 bytes
-SMALL-SEGLOADC-SIZE: Segment load command size is too small
-INCOMPLETE-LOADC: Malformed MachO file
-TOO-MANY-SECTS: Number of sections too large for size of load command
-BAD-SYMBOL: Requested symbol index is out of range
-NAME-PAST-EOF: Symbol name entry points before beginning or past end of file
+RUN: not llvm-objdump -private-headers %p/Inputs/macho-invalid-header 2>&1 | FileCheck -check-prefix INVALID-HEADER %s
+INVALID-HEADER: Invalid data was encountered while parsing the file
-INVALID-SECTION-IDX-SYMBOL-SEC: getSymbolSection: Invalid section index
+RUN: not llvm-objdump -private-headers %p/Inputs/macho64-invalid-incomplete-segment-load-command 2>&1 | FileCheck -check-prefix INCOMPLETE-SEGMENT-LOADC %s
+INCOMPLETE-SEGMENT-LOADC: Invalid data was encountered while parsing the file
diff --git a/test/Object/obj2yaml.test b/test/Object/obj2yaml.test
index 2a3f7c841dd1..08000f66581b 100644
--- a/test/Object/obj2yaml.test
+++ b/test/Object/obj2yaml.test
@@ -267,26 +267,19 @@ ELF-MIPSEL-NEXT: - Name: '$.str'
ELF-MIPSEL-NEXT: Type: STT_OBJECT
ELF-MIPSEL-NEXT: Section: .rodata.str1.1
ELF-MIPSEL-NEXT: Size: 0x000000000000000D
-ELF-MIPSEL-NEXT: - Name: .text
-ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: - Type: STT_SECTION
ELF-MIPSEL-NEXT: Section: .text
-ELF-MIPSEL-NEXT: - Name: .data
-ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: - Type: STT_SECTION
ELF-MIPSEL-NEXT: Section: .data
-ELF-MIPSEL-NEXT: - Name: .bss
-ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: - Type: STT_SECTION
ELF-MIPSEL-NEXT: Section: .bss
-ELF-MIPSEL-NEXT: - Name: .mdebug.abi32
-ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: - Type: STT_SECTION
ELF-MIPSEL-NEXT: Section: .mdebug.abi32
-ELF-MIPSEL-NEXT: - Name: .rodata.str1.1
-ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: - Type: STT_SECTION
ELF-MIPSEL-NEXT: Section: .rodata.str1.1
-ELF-MIPSEL-NEXT: - Name: .reginfo
-ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: - Type: STT_SECTION
ELF-MIPSEL-NEXT: Section: .reginfo
-ELF-MIPSEL-NEXT: - Name: .MIPS.abiflags
-ELF-MIPSEL-NEXT: Type: STT_SECTION
+ELF-MIPSEL-NEXT: - Type: STT_SECTION
ELF-MIPSEL-NEXT: Section: .MIPS.abiflags
ELF-MIPSEL-NEXT: Global:
ELF-MIPSEL-NEXT: - Name: main
@@ -343,22 +336,17 @@ ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000004
ELF-MIPS64EL-NEXT: Content: ''
ELF-MIPS64EL-NEXT: Symbols:
ELF-MIPS64EL-NEXT: Local:
-ELF-MIPS64EL-NEXT: - Name: .text
-ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: - Type: STT_SECTION
ELF-MIPS64EL-NEXT: Section: .text
-ELF-MIPS64EL-NEXT: - Name: .data
-ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: - Type: STT_SECTION
ELF-MIPS64EL-NEXT: Section: .data
-ELF-MIPS64EL-NEXT: - Name: .bss
-ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: - Type: STT_SECTION
ELF-MIPS64EL-NEXT: Section: .bss
ELF-MIPS64EL-NEXT: - Name: bar
ELF-MIPS64EL-NEXT: Section: .data
-ELF-MIPS64EL-NEXT: - Name: .MIPS.options
-ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: - Type: STT_SECTION
ELF-MIPS64EL-NEXT: Section: .MIPS.options
-ELF-MIPS64EL-NEXT: - Name: .pdr
-ELF-MIPS64EL-NEXT: Type: STT_SECTION
+ELF-MIPS64EL-NEXT: - Type: STT_SECTION
ELF-MIPS64EL-NEXT: Section: .pdr
ELF-MIPS64EL-NEXT: Global:
ELF-MIPS64EL-NEXT: - Name: zed
@@ -394,7 +382,7 @@ ELF-X86-64-NEXT: AddressAlign: 0x0000000000000008
ELF-X86-64-NEXT: Info: .text
ELF-X86-64-NEXT: Relocations:
ELF-X86-64-NEXT: - Offset: 0x000000000000000D
-ELF-X86-64-NEXT: Symbol: .rodata.str1.1
+ELF-X86-64-NEXT: Symbol: ''
ELF-X86-64-NEXT: Type: R_X86_64_32S
ELF-X86-64-NEXT: - Offset: 0x0000000000000012
ELF-X86-64-NEXT: Symbol: puts
@@ -408,14 +396,11 @@ ELF-X86-64-NEXT: Symbols:
ELF-X86-64-NEXT: Local:
ELF-X86-64-NEXT: - Name: trivial-object-test.s
ELF-X86-64-NEXT: Type: STT_FILE
-ELF-X86-64-NEXT: - Name: .text
-ELF-X86-64-NEXT: Type: STT_SECTION
+ELF-X86-64-NEXT: - Type: STT_SECTION
ELF-X86-64-NEXT: Section: .text
-ELF-X86-64-NEXT: - Name: .rodata.str1.1
-ELF-X86-64-NEXT: Type: STT_SECTION
+ELF-X86-64-NEXT: - Type: STT_SECTION
ELF-X86-64-NEXT: Section: .rodata.str1.1
-ELF-X86-64-NEXT: - Name: .note.GNU-stack
-ELF-X86-64-NEXT: Type: STT_SECTION
+ELF-X86-64-NEXT: - Type: STT_SECTION
ELF-X86-64-NEXT: Section: .note.GNU-stack
ELF-X86-64-NEXT: Global:
ELF-X86-64-NEXT: - Name: main
diff --git a/test/Object/readobj-shared-object.test b/test/Object/readobj-shared-object.test
index 516d4c699e42..508caca9717d 100644
--- a/test/Object/readobj-shared-object.test
+++ b/test/Object/readobj-shared-object.test
@@ -128,61 +128,61 @@ ELF: ]
ELF: Symbols [
ELF: Symbol {
-ELF: Name: .hash
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .hash
ELF: }
ELF: Symbol {
-ELF: Name: .dynsym
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .dynsym
ELF: }
ELF: Symbol {
-ELF: Name: .dynstr
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .dynstr
ELF: }
ELF: Symbol {
-ELF: Name: .text
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .text
ELF: }
ELF: Symbol {
-ELF: Name: .eh_frame
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .eh_frame
ELF: }
ELF: Symbol {
-ELF: Name: .tdata
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .tdata
ELF: }
ELF: Symbol {
-ELF: Name: .dynamic
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .dynamic
ELF: }
ELF: Symbol {
-ELF: Name: .got.plt
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .got.plt
ELF: }
ELF: Symbol {
-ELF: Name: .data
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .data
ELF: }
ELF: Symbol {
-ELF: Name: .bss
+ELF: Name: (0)
ELF: Binding: Local
ELF: Type: Section
ELF: Section: .bss