summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools')
-rw-r--r--llvm/test/tools/llvm-readobj/Inputs/relocs.obj.elf-lanaibin0 -> 428 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/Inputs/relocs.py9
-rw-r--r--llvm/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanaibin0 -> 736 bytes
-rw-r--r--llvm/test/tools/llvm-readobj/file-headers.test32
-rw-r--r--llvm/test/tools/llvm-readobj/reloc-types.test9
5 files changed, 50 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/Inputs/relocs.obj.elf-lanai b/llvm/test/tools/llvm-readobj/Inputs/relocs.obj.elf-lanai
new file mode 100644
index 00000000000..c0bb9a04694
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/relocs.obj.elf-lanai
Binary files differ
diff --git a/llvm/test/tools/llvm-readobj/Inputs/relocs.py b/llvm/test/tools/llvm-readobj/Inputs/relocs.py
index 62dbd627ca5..48a1ffb0994 100644
--- a/llvm/test/tools/llvm-readobj/Inputs/relocs.py
+++ b/llvm/test/tools/llvm-readobj/Inputs/relocs.py
@@ -991,6 +991,14 @@ class Relocs_Elf_Hexagon(Enum):
R_HEX_TPREL_16_X = 84
R_HEX_TPREL_11_X = 85
+class Relocs_Elf_Lanai(Enum):
+ R_LANAI_NONE = 0
+ R_LANAI_21 = 1
+ R_LANAI_21_F = 2
+ R_LANAI_25 = 3
+ R_LANAI_32 = 4
+ R_LANAI_HI16 = 5
+ R_LANAI_LO16 = 6
class Relocs_Coff_i386(Enum):
IMAGE_REL_I386_ABSOLUTE = 0x0000
@@ -1103,6 +1111,7 @@ craftElf("relocs.obj.elf-arm", "arm-unknown-unknown", Relocs_Elf_AR
craftElf("relocs.obj.elf-mips", "mips-unknown-linux", Relocs_Elf_Mips.entries(), "lui $2, %hi(sym)")
craftElf("relocs.obj.elf-mips64el", "mips64el-unknown-linux", Relocs_Elf_Mips.entries(), "lui $2, %hi(sym)")
#craftElf("relocs.obj.elf-hexagon", "hexagon-unknown-unknown", Relocs_Elf_Hexagon.entries(), ...)
+#craftElf("relocs.obj.elf-lanai", "lanai-unknown-unknown", Relocs_Elf_Lanai.entries(), "mov hi(x), %r4")
craftCoff("relocs.obj.coff-i386", "i386-pc-win32", Relocs_Coff_i386.entries(), "mov foo@imgrel(%ebx, %ecx, 4), %eax")
craftCoff("relocs.obj.coff-x86_64", "x86_64-pc-win32", Relocs_Coff_X86_64.entries(), "mov foo@imgrel(%ebx, %ecx, 4), %eax")
diff --git a/llvm/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanai b/llvm/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanai
new file mode 100644
index 00000000000..13bb30ca6fd
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/Inputs/trivial.obj.elf-lanai
Binary files differ
diff --git a/llvm/test/tools/llvm-readobj/file-headers.test b/llvm/test/tools/llvm-readobj/file-headers.test
index 2d67089d611..4fe8210c4dd 100644
--- a/llvm/test/tools/llvm-readobj/file-headers.test
+++ b/llvm/test/tools/llvm-readobj/file-headers.test
@@ -24,6 +24,8 @@ 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
+RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-lanai \
+RUN: | FileCheck %s -check-prefix ELF-LANAI
COFF-ARM: File: {{(.*[/\\])?}}trivial.obj.coff-arm
COFF-ARM-NEXT: Format: COFF-ARM
@@ -335,3 +337,33 @@ COFF-IMPORTLIB-NEXT: Type: code
COFF-IMPORTLIB-NEXT: Name type: noprefix
COFF-IMPORTLIB-NEXT: Symbol: __imp__func
COFF-IMPORTLIB-NEXT: Symbol: _func
+
+ELF-LANAI: Format: ELF32-lanai
+ELF-LANAI-NEXT: Arch: lanai
+ELF-LANAI-NEXT: AddressSize: 32bit
+ELF-LANAI-NEXT: LoadName:
+ELF-LANAI-NEXT: ElfHeader {
+ELF-LANAI-NEXT: Ident {
+ELF-LANAI-NEXT: Magic: (7F 45 4C 46)
+ELF-LANAI-NEXT: Class: 32-bit (0x1)
+ELF-LANAI-NEXT: DataEncoding: BigEndian (0x2)
+ELF-LANAI-NEXT: FileVersion: 1
+ELF-LANAI-NEXT: OS/ABI: SystemV (0x0)
+ELF-LANAI-NEXT: ABIVersion: 0
+ELF-LANAI-NEXT: Unused: (00 00 00 00 00 00 00)
+ELF-LANAI-NEXT: }
+ELF-LANAI-NEXT: Type: Relocatable (0x1)
+ELF-LANAI-NEXT: Machine: EM_LANAI (0x8123)
+ELF-LANAI-NEXT: Version: 1
+ELF-LANAI-NEXT: Entry: 0x0
+ELF-LANAI-NEXT: ProgramHeaderOffset: 0x0
+ELF-LANAI-NEXT: SectionHeaderOffset: 0x1A0
+ELF-LANAI-NEXT: Flags [ (0x0)
+ELF-LANAI-NEXT: ]
+ELF-LANAI-NEXT: HeaderSize: 52
+ELF-LANAI-NEXT: ProgramHeaderEntrySize: 0
+ELF-LANAI-NEXT: ProgramHeaderCount: 0
+ELF-LANAI-NEXT: SectionHeaderEntrySize: 40
+ELF-LANAI-NEXT: SectionHeaderCount: 8
+ELF-LANAI-NEXT: StringTableSectionIndex: 1
+ELF-LANAI-NEXT: }
diff --git a/llvm/test/tools/llvm-readobj/reloc-types.test b/llvm/test/tools/llvm-readobj/reloc-types.test
index 36e2f7010bd..74148c07015 100644
--- a/llvm/test/tools/llvm-readobj/reloc-types.test
+++ b/llvm/test/tools/llvm-readobj/reloc-types.test
@@ -7,6 +7,7 @@ RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-i386 | FileChec
RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-x86_64 | FileCheck %s -check-prefix ELF-64
RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-aarch64 | FileCheck %s -check-prefix ELF-AARCH64
RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-arm | FileCheck %s -check-prefix ELF-ARM
+RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-lanai | FileCheck %s -check-prefix ELF-LANAI
RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-mips | FileCheck %s -check-prefix ELF-MIPS
RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-mips64el | FileCheck %s -check-prefix ELF-MIPS64EL
RUN: llvm-readobj -r -expand-relocs %p/Inputs/relocs.obj.elf-ppc64 | FileCheck %s -check-prefix ELF-PPC64
@@ -405,6 +406,14 @@ ELF-ARM: Type: R_ARM_THM_TLS_DESCSEQ16 (129)
ELF-ARM: Type: R_ARM_THM_TLS_DESCSEQ32 (130)
ELF-ARM: Type: R_ARM_IRELATIVE (160)
+ELF-LANAI: Type: R_LANAI_NONE (0)
+ELF-LANAI: Type: R_LANAI_21 (1)
+ELF-LANAI: Type: R_LANAI_21_F (2)
+ELF-LANAI: Type: R_LANAI_25 (3)
+ELF-LANAI: Type: R_LANAI_32 (4)
+ELF-LANAI: Type: R_LANAI_HI16 (5)
+ELF-LANAI: Type: R_LANAI_LO16 (6)
+
ELF-MIPS: Type: R_MIPS_NONE (0)
ELF-MIPS: Type: R_MIPS_16 (1)
ELF-MIPS: Type: R_MIPS_32 (2)
OpenPOWER on IntegriCloud