| ## 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 |