314 lines
7.3 KiB
YAML
314 lines
7.3 KiB
YAML
## Check yaml2obj is able to set an ABI version for an object.
|
|
|
|
## Check that by default yaml2obj emits ELFOSABI_NONE (0) for ABI version.
|
|
# RUN: yaml2obj %s --docnum=1 -o %t.default
|
|
# RUN: yaml2obj %s --docnum=2 -o %t.none
|
|
# RUN: llvm-readobj --file-headers %t.none | FileCheck %s --check-prefix=OSABI-NONE
|
|
# RUN: llvm-readobj --file-headers %t.default | FileCheck %s --check-prefix=OSABI-NONE
|
|
|
|
# OSABI-NONE: OS/ABI: SystemV (0x0)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_NONE
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
|
|
# RUN: yaml2obj %s --docnum=3 -o %t.hpux
|
|
# RUN: llvm-readobj --file-headers %t.hpux | FileCheck %s --check-prefix=OSABI-HPUX
|
|
|
|
# OSABI-HPUX: OS/ABI: HPUX (0x1)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_HPUX
|
|
|
|
# RUN: yaml2obj %s --docnum=4 -o %t.netbsd
|
|
# RUN: llvm-readobj --file-headers %t.netbsd | FileCheck %s --check-prefix=OSABI-NETBSD
|
|
|
|
# OSABI-NETBSD: OS/ABI: NetBSD (0x2)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_NETBSD
|
|
|
|
## Test ELFOSABI_GNU and ELFOSABI_LINUX (historical alias for ELFOSABI_GNU).
|
|
# RUN: yaml2obj %s --docnum=5 -o %t.gnu
|
|
# RUN: llvm-readobj --file-headers %t.gnu | FileCheck %s --check-prefix=OSABI-GNU
|
|
# RUN: yaml2obj %s --docnum=6 -o %t.gnu.alias
|
|
# RUN: llvm-readobj --file-headers %t.gnu.alias | FileCheck %s --check-prefix=OSABI-GNU
|
|
# OSABI-GNU: OS/ABI: GNU/Linux (0x3)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_GNU
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_LINUX
|
|
|
|
# RUN: yaml2obj %s --docnum=7 -o %t.hurd
|
|
# RUN: llvm-readobj --file-headers %t.hurd | FileCheck %s --check-prefix=OSABI-HURD
|
|
|
|
# OSABI-HURD: OS/ABI: GNU/Hurd (0x4)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_HURD
|
|
|
|
# RUN: yaml2obj %s --docnum=8 -o %t.solaris
|
|
# RUN: llvm-readobj --file-headers %t.solaris | FileCheck %s --check-prefix=OSABI-SOLARIS
|
|
|
|
# OSABI-SOLARIS: OS/ABI: Solaris (0x6)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_SOLARIS
|
|
|
|
# RUN: yaml2obj %s --docnum=9 -o %t.aix
|
|
# RUN: llvm-readobj --file-headers %t.aix | FileCheck %s --check-prefix=OSABI-AIX
|
|
|
|
# OSABI-AIX: OS/ABI: AIX (0x7)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_AIX
|
|
|
|
# RUN: yaml2obj %s --docnum=10 -o %t.irix
|
|
# RUN: llvm-readobj --file-headers %t.irix | FileCheck %s --check-prefix=OSABI-IRIX
|
|
|
|
# OSABI-IRIX: OS/ABI: IRIX (0x8)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_IRIX
|
|
|
|
# RUN: yaml2obj %s --docnum=11 -o %t.freebsd
|
|
# RUN: llvm-readobj --file-headers %t.freebsd | FileCheck %s --check-prefix=OSABI-FREEBSD
|
|
|
|
# OSABI-FREEBSD: OS/ABI: FreeBSD (0x9)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_FREEBSD
|
|
|
|
# RUN: yaml2obj %s --docnum=12 -o %t.tru64
|
|
# RUN: llvm-readobj --file-headers %t.tru64 | FileCheck %s --check-prefix=OSABI-TRU64
|
|
|
|
# OSABI-TRU64: OS/ABI: TRU64 (0xA)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_TRU64
|
|
|
|
# RUN: yaml2obj %s --docnum=13 -o %t.modesto
|
|
# RUN: llvm-readobj --file-headers %t.modesto | FileCheck %s --check-prefix=OSABI-MODESTO
|
|
|
|
# OSABI-MODESTO: OS/ABI: Modesto (0xB)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_MODESTO
|
|
|
|
# RUN: yaml2obj %s --docnum=14 -o %t.openbsd
|
|
# RUN: llvm-readobj --file-headers %t.openbsd | FileCheck %s --check-prefix=OSABI-OPENBSD
|
|
|
|
# OSABI-OPENBSD: OS/ABI: OpenBSD (0xC)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_OPENBSD
|
|
|
|
# RUN: yaml2obj %s --docnum=15 -o %t.openvms
|
|
# RUN: llvm-readobj --file-headers %t.openvms | FileCheck %s --check-prefix=OSABI-OPENVMS
|
|
|
|
# OSABI-OPENVMS: OS/ABI: OpenVMS (0xD)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_OPENVMS
|
|
|
|
# RUN: yaml2obj %s --docnum=16 -o %t.nsk
|
|
# RUN: llvm-readobj --file-headers %t.nsk | FileCheck %s --check-prefix=OSABI-NSK
|
|
|
|
# OSABI-NSK: OS/ABI: NSK (0xE)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_NSK
|
|
|
|
# RUN: yaml2obj %s --docnum=17 -o %t.aros
|
|
# RUN: llvm-readobj --file-headers %t.aros | FileCheck %s --check-prefix=OSABI-AROS
|
|
|
|
# OSABI-AROS: OS/ABI: AROS (0xF)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_AROS
|
|
|
|
# RUN: yaml2obj %s --docnum=18 -o %t.fenixos
|
|
# RUN: llvm-readobj --file-headers %t.fenixos | FileCheck %s --check-prefix=OSABI-FENIXOS
|
|
|
|
# OSABI-FENIXOS: OS/ABI: FenixOS (0x10)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_FENIXOS
|
|
|
|
# RUN: yaml2obj %s --docnum=19 -o %t.cloudabi
|
|
# RUN: llvm-readobj --file-headers %t.cloudabi | FileCheck %s --check-prefix=OSABI-CLOUDABI
|
|
|
|
# OSABI-CLOUDABI: OS/ABI: CloudABI (0x11)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_CLOUDABI
|
|
|
|
# RUN: yaml2obj %s --docnum=20 -o %t.amdhsa
|
|
# RUN: llvm-readobj --file-headers %t.amdhsa | FileCheck %s --check-prefix=OSABI-ARCHSPEC40
|
|
# RUN: yaml2obj %s --docnum=21 -o %t.c6000
|
|
# RUN: llvm-readobj --file-headers %t.c6000 | FileCheck %s --check-prefix=OSABI-ARCHSPEC40
|
|
|
|
# OSABI-ARCHSPEC40: OS/ABI: 0x40
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_AMDGPU_HSA
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_C6000_ELFABI
|
|
|
|
# RUN: yaml2obj %s --docnum=22 -o %t.amdpal
|
|
# RUN: llvm-readobj --file-headers %t.amdpal | FileCheck %s --check-prefix=OSABI-ARCHSPEC41
|
|
# RUN: yaml2obj %s --docnum=23 -o %t.c6000linux
|
|
# RUN: llvm-readobj --file-headers %t.c6000linux | FileCheck %s --check-prefix=OSABI-ARCHSPEC41
|
|
|
|
# OSABI-ARCHSPEC41: OS/ABI: 0x41
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_AMDGPU_PAL
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_C6000_LINUX
|
|
|
|
# RUN: yaml2obj %s --docnum=24 -o %t.amdmesa
|
|
# RUN: llvm-readobj --file-headers %t.amdmesa | FileCheck %s --check-prefix=OSABI-AMD-MESA3D
|
|
|
|
# OSABI-AMD-MESA3D: OS/ABI: 0x42
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_AMDGPU_MESA3D
|
|
|
|
# RUN: yaml2obj %s --docnum=25 -o %t.arm
|
|
# RUN: llvm-readobj --file-headers %t.arm | FileCheck %s --check-prefix=OSABI-ARM
|
|
|
|
# OSABI-ARM: OS/ABI: 0x61
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_ARM
|
|
|
|
# RUN: yaml2obj %s --docnum=26 -o %t.standalone
|
|
# RUN: llvm-readobj --file-headers %t.standalone | FileCheck %s --check-prefix=OSABI-STANDALONE
|
|
|
|
# OSABI-STANDALONE: OS/ABI: Standalone (0xFF)
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: ELFOSABI_STANDALONE
|
|
|
|
## Test we can use an arbitrary number for OSABI.
|
|
# RUN: yaml2obj %s --docnum=27 -o %t.number
|
|
# RUN: llvm-readobj --file-headers %t.number | FileCheck %s --check-prefix=OSABI-NUMBER
|
|
# OSABI-NUMBER: OS/ABI: 0xFE
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_REL
|
|
OSABI: 0xFE
|