aboutsummaryrefslogtreecommitdiffstats
path: root/test/tools/llvm-readobj
diff options
context:
space:
mode:
Diffstat (limited to 'test/tools/llvm-readobj')
-rw-r--r--test/tools/llvm-readobj/Inputs/dynamic-table.c7
-rw-r--r--test/tools/llvm-readobj/Inputs/dynamic-table.mipsbin0 -> 5395 bytes
-rw-r--r--test/tools/llvm-readobj/Inputs/magic.coff-importlibbin0 -> 40 bytes
-rw-r--r--test/tools/llvm-readobj/Inputs/magic.coff-unknownbin0 -> 450 bytes
-rw-r--r--test/tools/llvm-readobj/Inputs/rpath.exe.elf-x86_64bin0 -> 5632 bytes
-rw-r--r--test/tools/llvm-readobj/dynamic.test33
-rw-r--r--test/tools/llvm-readobj/file-headers.test33
-rw-r--r--test/tools/llvm-readobj/lit.local.cfg1
-rw-r--r--test/tools/llvm-readobj/program-headers.test30
-rw-r--r--test/tools/llvm-readobj/rpath.test4
10 files changed, 107 insertions, 1 deletions
diff --git a/test/tools/llvm-readobj/Inputs/dynamic-table.c b/test/tools/llvm-readobj/Inputs/dynamic-table.c
new file mode 100644
index 0000000..6d36e8a
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/dynamic-table.c
@@ -0,0 +1,7 @@
+// clang -target mipsel-linux-gnu -shared -fPIC -lc dynamic-table.c \
+// -o dynamic-table.mips
+int puts(const char *);
+
+void foo(void) {
+ puts("Hello, World");
+}
diff --git a/test/tools/llvm-readobj/Inputs/dynamic-table.mips b/test/tools/llvm-readobj/Inputs/dynamic-table.mips
new file mode 100644
index 0000000..ab36cee
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/dynamic-table.mips
Binary files differ
diff --git a/test/tools/llvm-readobj/Inputs/magic.coff-importlib b/test/tools/llvm-readobj/Inputs/magic.coff-importlib
new file mode 100644
index 0000000..b934afb
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/magic.coff-importlib
Binary files differ
diff --git a/test/tools/llvm-readobj/Inputs/magic.coff-unknown b/test/tools/llvm-readobj/Inputs/magic.coff-unknown
new file mode 100644
index 0000000..7b3b461
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/magic.coff-unknown
Binary files differ
diff --git a/test/tools/llvm-readobj/Inputs/rpath.exe.elf-x86_64 b/test/tools/llvm-readobj/Inputs/rpath.exe.elf-x86_64
new file mode 100644
index 0000000..8c01c50
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/rpath.exe.elf-x86_64
Binary files differ
diff --git a/test/tools/llvm-readobj/dynamic.test b/test/tools/llvm-readobj/dynamic.test
new file mode 100644
index 0000000..78a9b3b
--- /dev/null
+++ b/test/tools/llvm-readobj/dynamic.test
@@ -0,0 +1,33 @@
+RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table.mips \
+RUN: | FileCheck %s -check-prefix ELF-MIPS
+
+ELF-MIPS: Format: ELF32-mips
+ELF-MIPS: Arch: mipsel
+ELF-MIPS: AddressSize: 32bit
+ELF-MIPS: LoadName:
+ELF-MIPS: DynamicSection [ (23 entries)
+ELF-MIPS: Tag Type Name/Value
+ELF-MIPS: 0x00000001 NEEDED SharedLibrary (libc.so.6)
+ELF-MIPS: 0x0000000C INIT 0x528
+ELF-MIPS: 0x0000000D FINI 0x860
+ELF-MIPS: 0x00000004 HASH 0x210
+ELF-MIPS: 0x00000005 STRTAB 0x3D8
+ELF-MIPS: 0x00000006 SYMTAB 0x2A8
+ELF-MIPS: 0x0000000A STRSZ 231 (bytes)
+ELF-MIPS: 0x0000000B SYMENT 16 (bytes)
+ELF-MIPS: 0x00000003 PLTGOT 0x108E0
+ELF-MIPS: 0x00000011 REL 0x518
+ELF-MIPS: 0x00000012 RELSZ 16 (bytes)
+ELF-MIPS: 0x00000013 RELENT 8 (bytes)
+ELF-MIPS: 0x70000001 MIPS_RLD_VERSION 1
+ELF-MIPS: 0x70000005 MIPS_FLAGS 0x2
+ELF-MIPS: 0x70000006 MIPS_BASE_ADDRESS 0x0
+ELF-MIPS: 0x7000000A MIPS_LOCAL_GOTNO 10
+ELF-MIPS: 0x70000011 MIPS_SYMTABNO 19
+ELF-MIPS: 0x70000012 MIPS_UNREFEXTNO 26
+ELF-MIPS: 0x70000013 MIPS_GOTSYM 0xD
+ELF-MIPS: 0x6FFFFFFE VERNEED 0x4E8
+ELF-MIPS: 0x6FFFFFFF VERNEEDNUM 1
+ELF-MIPS: 0x6FFFFFF0 VERSYM 0x4C0
+ELF-MIPS: 0x00000000 NULL 0x0
+ELF-MIPS: ]
diff --git a/test/tools/llvm-readobj/file-headers.test b/test/tools/llvm-readobj/file-headers.test
index b900e36..b2b4547 100644
--- a/test/tools/llvm-readobj/file-headers.test
+++ b/test/tools/llvm-readobj/file-headers.test
@@ -8,6 +8,10 @@ RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-i386 \
RUN: | FileCheck %s -check-prefix ELF32
RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-x86-64 \
RUN: | FileCheck %s -check-prefix ELF64
+RUN: llvm-readobj -h %p/Inputs/magic.coff-unknown \
+RUN: | FileCheck %s -check-prefix COFF-UNKNOWN
+RUN: llvm-readobj -h %p/Inputs/magic.coff-importlib \
+RUN: | FileCheck %s -check-prefix COFF-IMPORTLIB
COFF32: File: {{(.*[/\\])?}}trivial.obj.coff-i386
COFF32-NEXT: Format: COFF-i386
@@ -183,3 +187,32 @@ PE32-NEXT: ReservedRVA: 0x0
PE32-NEXT: ReservedSize: 0x0
PE32-NEXT: }
PE32-NEXT: }
+
+COFF-UNKNOWN: Format: COFF-<unknown arch>
+COFF-UNKNOWN-NEXT: Arch: unknown
+COFF-UNKNOWN-NEXT: AddressSize: 32bit
+COFF-UNKNOWN-NEXT: ImageFileHeader {
+COFF-UNKNOWN-NEXT: Machine: IMAGE_FILE_MACHINE_UNKNOWN (0x0)
+COFF-UNKNOWN-NEXT: SectionCount: 3
+COFF-UNKNOWN-NEXT: TimeDateStamp: 2013-11-14 21:19:28 (0x52853E60)
+COFF-UNKNOWN-NEXT: PointerToSymbolTable: 0xF8
+COFF-UNKNOWN-NEXT: SymbolCount: 11
+COFF-UNKNOWN-NEXT: OptionalHeaderSize: 0
+COFF-UNKNOWN-NEXT: Characteristics [ (0x0)
+COFF-UNKNOWN-NEXT: ]
+COFF-UNKNOWN-NEXT: }
+
+COFF-IMPORTLIB: Format: COFF-<unknown arch>
+COFF-IMPORTLIB-NEXT: Arch: unknown
+COFF-IMPORTLIB-NEXT: AddressSize: 32bit
+COFF-IMPORTLIB-NEXT: ImageFileHeader {
+COFF-IMPORTLIB-NEXT: Machine: IMAGE_FILE_MACHINE_UNKNOWN (0x0)
+COFF-IMPORTLIB-NEXT: SectionCount: 65535
+COFF-IMPORTLIB-NEXT: TimeDateStamp: 1970-09-09 19:52:32 (0x14C0000)
+COFF-IMPORTLIB-NEXT: PointerToSymbolTable: 0x528542EB
+COFF-IMPORTLIB-NEXT: SymbolCount: 20
+COFF-IMPORTLIB-NEXT: OptionalHeaderSize: 0
+COFF-IMPORTLIB-NEXT: Characteristics [ (0x8)
+COFF-IMPORTLIB-NEXT: IMAGE_FILE_LOCAL_SYMS_STRIPPED (0x8)
+COFF-IMPORTLIB-NEXT: ]
+COFF-IMPORTLIB-NEXT: }
diff --git a/test/tools/llvm-readobj/lit.local.cfg b/test/tools/llvm-readobj/lit.local.cfg
deleted file mode 100644
index df9b335..0000000
--- a/test/tools/llvm-readobj/lit.local.cfg
+++ /dev/null
@@ -1 +0,0 @@
-config.suffixes = ['.test']
diff --git a/test/tools/llvm-readobj/program-headers.test b/test/tools/llvm-readobj/program-headers.test
index 2a574bb..7c22f2b 100644
--- a/test/tools/llvm-readobj/program-headers.test
+++ b/test/tools/llvm-readobj/program-headers.test
@@ -2,6 +2,8 @@ RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.elf-i3
RUN: | FileCheck %s -check-prefix ELF-I386
RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.elf-x86-64 \
RUN: | FileCheck %s -check-prefix ELF-X86-64
+RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.mips \
+RUN: | FileCheck %s -check-prefix ELF-MIPS
ELF-I386: ProgramHeaders [
ELF-I386-NEXT: ProgramHeader {
@@ -72,3 +74,31 @@ ELF-X86-64-NEXT: ]
ELF-X86-64-NEXT: Alignment: 8
ELF-X86-64-NEXT: }
ELF-X86-64-NEXT: ]
+
+ELF-MIPS: ProgramHeaders [
+ELF-MIPS-NEXT: ProgramHeader {
+ELF-MIPS-NEXT: Type: PT_MIPS_REGINFO (0x70000000)
+ELF-MIPS-NEXT: Offset: 0x74
+ELF-MIPS-NEXT: VirtualAddress: 0x400074
+ELF-MIPS-NEXT: PhysicalAddress: 0x400074
+ELF-MIPS-NEXT: FileSize: 24
+ELF-MIPS-NEXT: MemSize: 24
+ELF-MIPS-NEXT: Flags [ (0x4)
+ELF-MIPS-NEXT: PF_R (0x4)
+ELF-MIPS-NEXT: ]
+ELF-MIPS-NEXT: Alignment: 4
+ELF-MIPS-NEXT: }
+ELF-MIPS-NEXT: ProgramHeader {
+ELF-MIPS-NEXT: Type: PT_LOAD (0x1)
+ELF-MIPS-NEXT: Offset: 0x0
+ELF-MIPS-NEXT: VirtualAddress: 0x400000
+ELF-MIPS-NEXT: PhysicalAddress: 0x400000
+ELF-MIPS-NEXT: FileSize: 160
+ELF-MIPS-NEXT: MemSize: 160
+ELF-MIPS-NEXT: Flags [ (0x5)
+ELF-MIPS-NEXT: PF_R (0x4)
+ELF-MIPS-NEXT: PF_X (0x1)
+ELF-MIPS-NEXT: ]
+ELF-MIPS-NEXT: Alignment: 65536
+ELF-MIPS-NEXT: }
+ELF-MIPS-NEXT: ]
diff --git a/test/tools/llvm-readobj/rpath.test b/test/tools/llvm-readobj/rpath.test
new file mode 100644
index 0000000..600938e
--- /dev/null
+++ b/test/tools/llvm-readobj/rpath.test
@@ -0,0 +1,4 @@
+RUN: llvm-readobj -dynamic-table %p/Inputs/rpath.exe.elf-x86_64 \
+RUN: | FileCheck %s
+
+CHECK: 0x000000000000000F RPATH /usr/local/lib