summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Object/Inputs/ELF/BE32.yaml6
-rw-r--r--test/Object/Inputs/ELF/BE64.yaml6
-rw-r--r--test/Object/Inputs/ELF/Header.yaml7
-rw-r--r--test/Object/Inputs/ELF/LE32.yaml6
-rw-r--r--test/Object/Inputs/ELF/LE64.yaml6
-rw-r--r--test/Object/yaml2obj-elf-basic.test32
-rw-r--r--test/Object/yaml2obj-elf-bits-endian.test16
7 files changed, 79 insertions, 0 deletions
diff --git a/test/Object/Inputs/ELF/BE32.yaml b/test/Object/Inputs/ELF/BE32.yaml
new file mode 100644
index 0000000000..3709ff70cd
--- /dev/null
+++ b/test/Object/Inputs/ELF/BE32.yaml
@@ -0,0 +1,6 @@
+!ELF
+Header: !Header
+ Class: ELFCLASS32
+ Data: ELFDATA2MSB
+ Type: ET_EXEC
+ Machine: EM_PPC
diff --git a/test/Object/Inputs/ELF/BE64.yaml b/test/Object/Inputs/ELF/BE64.yaml
new file mode 100644
index 0000000000..d1c4401c0c
--- /dev/null
+++ b/test/Object/Inputs/ELF/BE64.yaml
@@ -0,0 +1,6 @@
+!ELF
+Header: !Header
+ Class: ELFCLASS64
+ Data: ELFDATA2MSB
+ Type: ET_EXEC
+ Machine: EM_PPC64
diff --git a/test/Object/Inputs/ELF/Header.yaml b/test/Object/Inputs/ELF/Header.yaml
new file mode 100644
index 0000000000..085b12077d
--- /dev/null
+++ b/test/Object/Inputs/ELF/Header.yaml
@@ -0,0 +1,7 @@
+!ELF
+Header: !Header
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+ Entry: 0x400000
diff --git a/test/Object/Inputs/ELF/LE32.yaml b/test/Object/Inputs/ELF/LE32.yaml
new file mode 100644
index 0000000000..a4f30fbb80
--- /dev/null
+++ b/test/Object/Inputs/ELF/LE32.yaml
@@ -0,0 +1,6 @@
+!ELF
+Header: !Header
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_386
diff --git a/test/Object/Inputs/ELF/LE64.yaml b/test/Object/Inputs/ELF/LE64.yaml
new file mode 100644
index 0000000000..cd0ca2545b
--- /dev/null
+++ b/test/Object/Inputs/ELF/LE64.yaml
@@ -0,0 +1,6 @@
+!ELF
+Header: !Header
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
diff --git a/test/Object/yaml2obj-elf-basic.test b/test/Object/yaml2obj-elf-basic.test
new file mode 100644
index 0000000000..e97ad2013b
--- /dev/null
+++ b/test/Object/yaml2obj-elf-basic.test
@@ -0,0 +1,32 @@
+RUN: yaml2obj -format=elf %p/Inputs/ELF/Header.yaml | llvm-readobj -file-headers - | FileCheck %s
+
+// CHECK: File: <stdin>
+// CHECK-NEXT: Format: ELF64-x86-64
+// CHECK-NEXT: Arch: x86_64
+// CHECK-NEXT: AddressSize: 64bit
+// CHECK-NEXT: LoadName:
+// CHECK-NEXT: ElfHeader {
+// CHECK-NEXT: Ident {
+// CHECK-NEXT: Magic: (7F 45 4C 46)
+// CHECK-NEXT: Class: 64-bit (0x2)
+// CHECK-NEXT: DataEncoding: LittleEndian (0x1)
+// CHECK-NEXT: FileVersion: 1
+// CHECK-NEXT: OS/ABI: SystemV (0x0)
+// CHECK-NEXT: ABIVersion: 0
+// CHECK-NEXT: Unused: (00 00 00 00 00 00 00)
+// CHECK-NEXT: }
+// CHECK-NEXT: Type: Executable (0x2)
+// CHECK-NEXT: Machine: EM_X86_64 (0x3E)
+// CHECK-NEXT: Version: 1
+// CHECK-NEXT: Entry: 0x400000
+// CHECK-NEXT: ProgramHeaderOffset: 0x0
+// CHECK-NEXT: SectionHeaderOffset: 0x0
+// CHECK-NEXT: Flags [ (0x0)
+// CHECK-NEXT: ]
+// CHECK-NEXT: HeaderSize: 64
+// CHECK-NEXT: ProgramHeaderEntrySize: 0
+// CHECK-NEXT: ProgramHeaderCount: 0
+// CHECK-NEXT: SectionHeaderEntrySize: 0
+// CHECK-NEXT: SectionHeaderCount: 0
+// CHECK-NEXT: StringTableSectionIndex: 0
+// CHECK-NEXT: }
diff --git a/test/Object/yaml2obj-elf-bits-endian.test b/test/Object/yaml2obj-elf-bits-endian.test
new file mode 100644
index 0000000000..4be9a4465b
--- /dev/null
+++ b/test/Object/yaml2obj-elf-bits-endian.test
@@ -0,0 +1,16 @@
+RUN: yaml2obj -format=elf %p/Inputs/ELF/LE64.yaml | llvm-readobj -file-headers - | FileCheck %s --check-prefix LE64
+RUN: yaml2obj -format=elf %p/Inputs/ELF/BE64.yaml | llvm-readobj -file-headers - | FileCheck %s --check-prefix BE64
+RUN: yaml2obj -format=elf %p/Inputs/ELF/LE32.yaml | llvm-readobj -file-headers - | FileCheck %s --check-prefix LE32
+RUN: yaml2obj -format=elf %p/Inputs/ELF/BE32.yaml | llvm-readobj -file-headers - | FileCheck %s --check-prefix BE32
+
+LE64: Class: 64-bit (0x2)
+LE64-NEXT: DataEncoding: LittleEndian (0x1)
+
+BE64: Class: 64-bit (0x2)
+BE64-NEXT: DataEncoding: BigEndian (0x2)
+
+LE32: Class: 32-bit (0x1)
+LE32-NEXT: DataEncoding: LittleEndian (0x1)
+
+BE32: Class: 32-bit (0x1)
+BE32-NEXT: DataEncoding: BigEndian (0x2)