brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.2 KiB · 824dcb2 Raw
104 lines · plain
1## Check llvm-readobj's ability to decode all possible LoongArch e_flags field2## values.3 4## Not all combinations covered here exist in reality (such as the v0 ILP32*5## objects) but they are included nevertheless for completeness.6 7# RUN: yaml2obj %s -o %t-lp64s -DCLASS=64 -DABI_MODIFIER=SOFT -DOBJABI_VER=08# RUN: llvm-readobj -h %t-lp64s | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-SOFT-V0 %s9# RUN: llvm-readelf -h %t-lp64s | FileCheck --check-prefixes=READELF-LP64,READELF-SOFT-V0 --match-full-lines %s10 11# RUN: yaml2obj %s -o %t-lp64f -DCLASS=64 -DABI_MODIFIER=SINGLE -DOBJABI_VER=012# RUN: llvm-readobj -h %t-lp64f | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-SINGLE-V0 %s13# RUN: llvm-readelf -h %t-lp64f | FileCheck --check-prefixes=READELF-LP64,READELF-SINGLE-V0 --match-full-lines %s14 15# RUN: yaml2obj %s -o %t-lp64d -DCLASS=64 -DABI_MODIFIER=DOUBLE -DOBJABI_VER=016# RUN: llvm-readobj -h %t-lp64d | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-DOUBLE-V0 %s17# RUN: llvm-readelf -h %t-lp64d | FileCheck --check-prefixes=READELF-LP64,READELF-DOUBLE-V0 --match-full-lines %s18 19# RUN: yaml2obj %s -o %t-ilp32s -DCLASS=32 -DABI_MODIFIER=SOFT -DOBJABI_VER=020# RUN: llvm-readobj -h %t-ilp32s | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-SOFT-V0 %s21# RUN: llvm-readelf -h %t-ilp32s | FileCheck --check-prefixes=READELF-ILP32,READELF-SOFT-V0 --match-full-lines %s22 23# RUN: yaml2obj %s -o %t-ilp32f -DCLASS=32 -DABI_MODIFIER=SINGLE -DOBJABI_VER=024# RUN: llvm-readobj -h %t-ilp32f | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-SINGLE-V0 %s25# RUN: llvm-readelf -h %t-ilp32f | FileCheck --check-prefixes=READELF-ILP32,READELF-SINGLE-V0 --match-full-lines %s26 27# RUN: yaml2obj %s -o %t-ilp32d -DCLASS=32 -DABI_MODIFIER=DOUBLE -DOBJABI_VER=028# RUN: llvm-readobj -h %t-ilp32d | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-DOUBLE-V0 %s29# RUN: llvm-readelf -h %t-ilp32d | FileCheck --check-prefixes=READELF-ILP32,READELF-DOUBLE-V0 --match-full-lines %s30 31# RUN: yaml2obj %s -o %t-lp64s -DCLASS=64 -DABI_MODIFIER=SOFT -DOBJABI_VER=132# RUN: llvm-readobj -h %t-lp64s | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-SOFT-V1 %s33# RUN: llvm-readelf -h %t-lp64s | FileCheck --check-prefixes=READELF-LP64,READELF-SOFT-V1 --match-full-lines %s34 35# RUN: yaml2obj %s -o %t-lp64f -DCLASS=64 -DABI_MODIFIER=SINGLE -DOBJABI_VER=136# RUN: llvm-readobj -h %t-lp64f | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-SINGLE-V1 %s37# RUN: llvm-readelf -h %t-lp64f | FileCheck --check-prefixes=READELF-LP64,READELF-SINGLE-V1 --match-full-lines %s38 39# RUN: yaml2obj %s -o %t-lp64d -DCLASS=64 -DABI_MODIFIER=DOUBLE -DOBJABI_VER=140# RUN: llvm-readobj -h %t-lp64d | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-DOUBLE-V1 %s41# RUN: llvm-readelf -h %t-lp64d | FileCheck --check-prefixes=READELF-LP64,READELF-DOUBLE-V1 --match-full-lines %s42 43# RUN: yaml2obj %s -o %t-ilp32s -DCLASS=32 -DABI_MODIFIER=SOFT -DOBJABI_VER=144# RUN: llvm-readobj -h %t-ilp32s | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-SOFT-V1 %s45# RUN: llvm-readelf -h %t-ilp32s | FileCheck --check-prefixes=READELF-ILP32,READELF-SOFT-V1 --match-full-lines %s46 47# RUN: yaml2obj %s -o %t-ilp32f -DCLASS=32 -DABI_MODIFIER=SINGLE -DOBJABI_VER=148# RUN: llvm-readobj -h %t-ilp32f | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-SINGLE-V1 %s49# RUN: llvm-readelf -h %t-ilp32f | FileCheck --check-prefixes=READELF-ILP32,READELF-SINGLE-V1 --match-full-lines %s50 51# RUN: yaml2obj %s -o %t-ilp32d -DCLASS=32 -DABI_MODIFIER=DOUBLE -DOBJABI_VER=152# RUN: llvm-readobj -h %t-ilp32d | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-DOUBLE-V1 %s53# RUN: llvm-readelf -h %t-ilp32d | FileCheck --check-prefixes=READELF-ILP32,READELF-DOUBLE-V1 --match-full-lines %s54 55# READOBJ-LP64: Class: 64-bit (0x2)56# READELF-LP64: Class: ELF6457# READOBJ-ILP32: Class: 32-bit (0x1)58# READELF-ILP32: Class: ELF3259 60# READOBJ-SOFT-V0:      Flags [ (0x1)61# READOBJ-SOFT-V0-NEXT:   EF_LOONGARCH_ABI_SOFT_FLOAT (0x1)62# READOBJ-SOFT-V0-NEXT: ]63 64# READOBJ-SINGLE-V0:      Flags [ (0x2)65# READOBJ-SINGLE-V0-NEXT:   EF_LOONGARCH_ABI_SINGLE_FLOAT (0x2)66# READOBJ-SINGLE-V0-NEXT: ]67 68# READOBJ-DOUBLE-V0:      Flags [ (0x3)69# READOBJ-DOUBLE-V0-NEXT:   EF_LOONGARCH_ABI_DOUBLE_FLOAT (0x3)70# READOBJ-DOUBLE-V0-NEXT: ]71 72# READOBJ-SOFT-V1:      Flags [ (0x41)73# READOBJ-SOFT-V1-NEXT:   EF_LOONGARCH_ABI_SOFT_FLOAT (0x1)74# READOBJ-SOFT-V1-NEXT:   EF_LOONGARCH_OBJABI_V1 (0x40)75# READOBJ-SOFT-V1-NEXT: ]76 77# READOBJ-SINGLE-V1:      Flags [ (0x42)78# READOBJ-SINGLE-V1-NEXT:   EF_LOONGARCH_ABI_SINGLE_FLOAT (0x2)79# READOBJ-SINGLE-V1-NEXT:   EF_LOONGARCH_OBJABI_V1 (0x40)80# READOBJ-SINGLE-V1-NEXT: ]81 82# READOBJ-DOUBLE-V1:      Flags [ (0x43)83# READOBJ-DOUBLE-V1-NEXT:   EF_LOONGARCH_ABI_DOUBLE_FLOAT (0x3)84# READOBJ-DOUBLE-V1-NEXT:   EF_LOONGARCH_OBJABI_V1 (0x40)85# READOBJ-DOUBLE-V1-NEXT: ]86 87# READELF-SOFT-V0: Flags: 0x1, SOFT-FLOAT88# READELF-SINGLE-V0: Flags: 0x2, SINGLE-FLOAT89# READELF-DOUBLE-V0: Flags: 0x3, DOUBLE-FLOAT90# READELF-SOFT-V1: Flags: 0x41, SOFT-FLOAT, OBJ-v191# READELF-SINGLE-V1: Flags: 0x42, SINGLE-FLOAT, OBJ-v192# READELF-DOUBLE-V1: Flags: 0x43, DOUBLE-FLOAT, OBJ-v193 94--- !ELF95FileHeader:96  Class:           ELFCLASS[[CLASS]]97  Data:            ELFDATA2LSB98  Type:            ET_EXEC99  Machine:         EM_LOONGARCH100  Flags: [101    EF_LOONGARCH_ABI_[[ABI_MODIFIER]]_FLOAT,102    EF_LOONGARCH_OBJABI_V[[OBJABI_VER]],103  ]104