summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test')
-rw-r--r--llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test47
1 files changed, 47 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test b/llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test
new file mode 100644
index 00000000000..f73a1556433
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test
@@ -0,0 +1,47 @@
+## This is a test to test how ABI version (EI_ABIVERSION) of an ELF file header is dumped.
+
+## EI_ABIVERSION is set to zero.
+# RUN: yaml2obj %s --docnum=1 -o %t.abiver.zero
+# RUN: llvm-readobj --file-headers %t.abiver.zero | FileCheck %s --match-full-lines --check-prefix=ABIVER-ZERO-LLVM
+# RUN: llvm-readelf --file-headers %t.abiver.zero | FileCheck %s --match-full-lines --check-prefix=ABIVER-ZERO-GNU
+## EI_ABIVERSION is set to an arbitrary number.
+# RUN: yaml2obj %s --docnum=2 -o %t.abiver.any
+# RUN: llvm-readobj --file-headers %t.abiver.any | FileCheck %s --match-full-lines --check-prefix=ABIVER-ANY-LLVM
+# RUN: llvm-readelf --file-headers %t.abiver.any | FileCheck %s --match-full-lines --check-prefix=ABIVER-ANY-GNU
+## EI_ABIVERSION is set to the maximum possible value.
+# RUN: yaml2obj %s --docnum=3 -o %t.abiver.max
+# RUN: llvm-readobj --file-headers %t.abiver.max | FileCheck %s --match-full-lines --check-prefix=ABIVER-MAX-LLVM
+# RUN: llvm-readelf --file-headers %t.abiver.max | FileCheck %s --match-full-lines --check-prefix=ABIVER-MAX-GNU
+
+# ABIVER-ZERO-LLVM: ABIVersion: 0
+# ABIVER-ZERO-GNU: ABI Version: 0x0
+
+# ABIVER-ANY-LLVM: ABIVersion: 52
+# ABIVER-ANY-GNU: ABI Version: 0x34
+
+# ABIVER-MAX-LLVM: ABIVersion: 255
+# ABIVER-MAX-GNU: ABI Version: 0xFF
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_X86_64
+ ABIVersion: 0x0
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_X86_64
+ ABIVersion: 0x34
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_REL
+ Machine: EM_X86_64
+ ABIVersion: 0xFF
OpenPOWER on IntegriCloud