diff options
Diffstat (limited to 'test/tools/llvm-readobj')
-rw-r--r-- | test/tools/llvm-readobj/Inputs/dynamic-table.c | 7 | ||||
-rw-r--r-- | test/tools/llvm-readobj/Inputs/dynamic-table.mips | bin | 0 -> 5395 bytes | |||
-rw-r--r-- | test/tools/llvm-readobj/Inputs/magic.coff-importlib | bin | 0 -> 40 bytes | |||
-rw-r--r-- | test/tools/llvm-readobj/Inputs/magic.coff-unknown | bin | 0 -> 450 bytes | |||
-rw-r--r-- | test/tools/llvm-readobj/Inputs/rpath.exe.elf-x86_64 | bin | 0 -> 5632 bytes | |||
-rw-r--r-- | test/tools/llvm-readobj/dynamic.test | 33 | ||||
-rw-r--r-- | test/tools/llvm-readobj/file-headers.test | 33 | ||||
-rw-r--r-- | test/tools/llvm-readobj/lit.local.cfg | 1 | ||||
-rw-r--r-- | test/tools/llvm-readobj/program-headers.test | 30 | ||||
-rw-r--r-- | test/tools/llvm-readobj/rpath.test | 4 |
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 Binary files differnew file mode 100644 index 0000000..ab36cee --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/dynamic-table.mips diff --git a/test/tools/llvm-readobj/Inputs/magic.coff-importlib b/test/tools/llvm-readobj/Inputs/magic.coff-importlib Binary files differnew file mode 100644 index 0000000..b934afb --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/magic.coff-importlib diff --git a/test/tools/llvm-readobj/Inputs/magic.coff-unknown b/test/tools/llvm-readobj/Inputs/magic.coff-unknown Binary files differnew file mode 100644 index 0000000..7b3b461 --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/magic.coff-unknown diff --git a/test/tools/llvm-readobj/Inputs/rpath.exe.elf-x86_64 b/test/tools/llvm-readobj/Inputs/rpath.exe.elf-x86_64 Binary files differnew file mode 100644 index 0000000..8c01c50 --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/rpath.exe.elf-x86_64 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 |