summaryrefslogtreecommitdiffstats
path: root/test/Object
diff options
context:
space:
mode:
Diffstat (limited to 'test/Object')
-rw-r--r--test/Object/TestObjectFiles/archive-test.a-bitcodebin0 -> 790 bytes
-rw-r--r--test/Object/TestObjectFiles/archive-test.a-coff-i386bin0 -> 658 bytes
-rw-r--r--test/Object/nm-archive.test17
-rw-r--r--test/Object/nm-trivial-object.test (renamed from test/Object/nm-trivial-object.test-broken)0
-rw-r--r--test/Object/objdump-disassembly-inline-relocations.test32
-rw-r--r--test/Object/objdump-relocations.test28
-rw-r--r--test/Object/objdump-sectionheaders.test16
-rw-r--r--test/Object/objdump-trivial-object.test (renamed from test/Object/objdump-trivial-object.test-broken)0
8 files changed, 93 insertions, 0 deletions
diff --git a/test/Object/TestObjectFiles/archive-test.a-bitcode b/test/Object/TestObjectFiles/archive-test.a-bitcode
new file mode 100644
index 0000000..3aeb34f
--- /dev/null
+++ b/test/Object/TestObjectFiles/archive-test.a-bitcode
Binary files differ
diff --git a/test/Object/TestObjectFiles/archive-test.a-coff-i386 b/test/Object/TestObjectFiles/archive-test.a-coff-i386
new file mode 100644
index 0000000..846cd63
--- /dev/null
+++ b/test/Object/TestObjectFiles/archive-test.a-coff-i386
Binary files differ
diff --git a/test/Object/nm-archive.test b/test/Object/nm-archive.test
new file mode 100644
index 0000000..da6144e
--- /dev/null
+++ b/test/Object/nm-archive.test
@@ -0,0 +1,17 @@
+RUN: llvm-nm %p/TestObjectFiles/archive-test.a-coff-i386 \
+RUN: | FileCheck %s -check-prefix COFF
+RUN: llvm-nm %p/TestObjectFiles/archive-test.a-bitcode \
+RUN: | FileCheck %s -check-prefix BITCODE
+
+
+COFF: trivial-object-test.coff-i386:
+COFF-NEXT: 00000000 d .data
+COFF-NEXT: 00000000 t .text
+COFF-NEXT: 00000000 d L_.str
+COFF-NEXT: U _SomeOtherFunction
+COFF-NEXT: 00000000 T _main
+COFF-NEXT: U _puts
+
+BITCODE: U SomeOtherFunction
+BITCODE-NEXT: T main
+BITCODE-NEXT: U puts
diff --git a/test/Object/nm-trivial-object.test-broken b/test/Object/nm-trivial-object.test
index 6de1780..6de1780 100644
--- a/test/Object/nm-trivial-object.test-broken
+++ b/test/Object/nm-trivial-object.test
diff --git a/test/Object/objdump-disassembly-inline-relocations.test b/test/Object/objdump-disassembly-inline-relocations.test
new file mode 100644
index 0000000..91f2e48
--- /dev/null
+++ b/test/Object/objdump-disassembly-inline-relocations.test
@@ -0,0 +1,32 @@
+RUN: llvm-objdump -d -r %p/TestObjectFiles/trivial-object-test.coff-i386 \
+RUN: | FileCheck %s -check-prefix COFF-i386
+RUN: llvm-objdump -d -r %p/TestObjectFiles/trivial-object-test.coff-x86-64 \
+RUN: | FileCheck %s -check-prefix COFF-x86-64
+
+COFF-i386: file format COFF-i386
+COFF-i386: Disassembly of section .text:
+COFF-i386: 0: 83 ec 0c subl $12, %esp
+COFF-i386: 3: c7 44 24 08 00 00 00 00 movl $0, 8(%esp)
+COFF-i386: b: c7 04 24 00 00 00 00 movl $0, (%esp)
+COFF-i386: e: IMAGE_REL_I386_DIR32 L_.str
+COFF-i386: 12: e8 00 00 00 00 calll 0
+COFF-i386: 13: IMAGE_REL_I386_REL32 _puts
+COFF-i386: 17: e8 00 00 00 00 calll 0
+COFF-i386: 18: IMAGE_REL_I386_REL32 _SomeOtherFunction
+COFF-i386: 1c: 8b 44 24 08 movl 8(%esp), %eax
+COFF-i386: 20: 83 c4 0c addl $12, %esp
+COFF-i386: 23: c3 ret
+
+COFF-x86-64: file format COFF-x86-64
+COFF-x86-64: Disassembly of section .text:
+COFF-x86-64: 0: 48 83 ec 28 subq $40, %rsp
+COFF-x86-64: 4: c7 44 24 24 00 00 00 00 movl $0, 36(%rsp)
+COFF-x86-64: c: 48 8d 0d 00 00 00 00 leaq (%rip), %rcx
+COFF-x86-64: f: IMAGE_REL_AMD64_REL32 L.str
+COFF-x86-64: 13: e8 00 00 00 00 callq 0
+COFF-x86-64: 14: IMAGE_REL_AMD64_REL32 puts
+COFF-x86-64: 18: e8 00 00 00 00 callq 0
+COFF-x86-64: 19: IMAGE_REL_AMD64_REL32 SomeOtherFunction
+COFF-x86-64: 1d: 8b 44 24 24 movl 36(%rsp), %eax
+COFF-x86-64: 21: 48 83 c4 28 addq $40, %rsp
+COFF-x86-64: 25: c3 ret
diff --git a/test/Object/objdump-relocations.test b/test/Object/objdump-relocations.test
new file mode 100644
index 0000000..2dcdb43
--- /dev/null
+++ b/test/Object/objdump-relocations.test
@@ -0,0 +1,28 @@
+RUN: llvm-objdump -r %p/TestObjectFiles/trivial-object-test.coff-i386 \
+RUN: | FileCheck %s -check-prefix COFF-i386
+RUN: llvm-objdump -r %p/TestObjectFiles/trivial-object-test.coff-x86-64 \
+RUN: | FileCheck %s -check-prefix COFF-x86-64
+RUN: llvm-objdump -r %p/TestObjectFiles/trivial-object-test.elf-i386 \
+RUN: | FileCheck %s -check-prefix ELF-i386
+RUN: llvm-objdump -r %p/TestObjectFiles/trivial-object-test.elf-x86-64 \
+RUN: | FileCheck %s -check-prefix ELF-x86-64
+
+COFF-i386: .text
+COFF-i386: IMAGE_REL_I386_DIR32 L_.str
+COFF-i386: IMAGE_REL_I386_REL32 _puts
+COFF-i386: IMAGE_REL_I386_REL32 _SomeOtherFunction
+
+COFF-x86-64: .text
+COFF-x86-64: IMAGE_REL_AMD64_REL32 L.str
+COFF-x86-64: IMAGE_REL_AMD64_REL32 puts
+COFF-x86-64: IMAGE_REL_AMD64_REL32 SomeOtherFunction
+
+ELF-i386: .text
+ELF-i386: R_386_32
+ELF-i386: R_386_PC32
+ELF-i386: R_386_PC32
+
+ELF-x86-64: .text
+ELF-x86-64: R_X86_64_32S .rodata.str1.1
+ELF-x86-64: R_X86_64_PC32 puts
+ELF-x86-64: R_X86_64_PC32 SomeOtherFunction
diff --git a/test/Object/objdump-sectionheaders.test b/test/Object/objdump-sectionheaders.test
new file mode 100644
index 0000000..4515d00
--- /dev/null
+++ b/test/Object/objdump-sectionheaders.test
@@ -0,0 +1,16 @@
+; RUN: llvm-objdump -h %p/TestObjectFiles/trivial-object-test.elf-x86-64 \
+; RUN: | FileCheck %s
+
+; To verify this, use readelf -S, not objdump -h. Binutils objdump filters the
+; results in a way that we don't emulate.
+
+; CHECK: Sections:
+; CHECK: Idx Name Size Address Type
+; CHECK: 0 000000000 00000000000000000
+; CHECK: 1 .text 000000026 00000000000000000 TEXT DATA
+; CHECK: 2 .rodata.str1.1 00000000d 00000000000000026 DATA
+; CHECK: 3 .note.GNU-stack 000000000 00000000000000033
+; CHECK: 4 .rela.text 000000048 00000000000000038
+; CHECK: 5 .symtab 0000000c0 00000000000000080
+; CHECK: 6 .strtab 000000033 00000000000000140
+; CHECK: 7 .shstrtab 00000004b 00000000000000173
diff --git a/test/Object/objdump-trivial-object.test-broken b/test/Object/objdump-trivial-object.test
index c4855fd..c4855fd 100644
--- a/test/Object/objdump-trivial-object.test-broken
+++ b/test/Object/objdump-trivial-object.test
OpenPOWER on IntegriCloud