File: loongarch-eflags.test

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (103 lines) | stat: -rw-r--r-- 5,343 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
## Check llvm-readobj's ability to decode all possible LoongArch e_flags field
## values.

## Not all combinations covered here exist in reality (such as the v0 ILP32*
## objects) but they are included nevertheless for completeness.

# RUN: yaml2obj %s -o %t-lp64s -DCLASS=64 -DABI_MODIFIER=SOFT -DOBJABI_VER=0
# RUN: llvm-readobj -h %t-lp64s | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-SOFT-V0 %s
# RUN: llvm-readelf -h %t-lp64s | FileCheck --check-prefixes=READELF-LP64,READELF-SOFT-V0 --match-full-lines %s

# RUN: yaml2obj %s -o %t-lp64f -DCLASS=64 -DABI_MODIFIER=SINGLE -DOBJABI_VER=0
# RUN: llvm-readobj -h %t-lp64f | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-SINGLE-V0 %s
# RUN: llvm-readelf -h %t-lp64f | FileCheck --check-prefixes=READELF-LP64,READELF-SINGLE-V0 --match-full-lines %s

# RUN: yaml2obj %s -o %t-lp64d -DCLASS=64 -DABI_MODIFIER=DOUBLE -DOBJABI_VER=0
# RUN: llvm-readobj -h %t-lp64d | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-DOUBLE-V0 %s
# RUN: llvm-readelf -h %t-lp64d | FileCheck --check-prefixes=READELF-LP64,READELF-DOUBLE-V0 --match-full-lines %s

# RUN: yaml2obj %s -o %t-ilp32s -DCLASS=32 -DABI_MODIFIER=SOFT -DOBJABI_VER=0
# RUN: llvm-readobj -h %t-ilp32s | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-SOFT-V0 %s
# RUN: llvm-readelf -h %t-ilp32s | FileCheck --check-prefixes=READELF-ILP32,READELF-SOFT-V0 --match-full-lines %s

# RUN: yaml2obj %s -o %t-ilp32f -DCLASS=32 -DABI_MODIFIER=SINGLE -DOBJABI_VER=0
# RUN: llvm-readobj -h %t-ilp32f | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-SINGLE-V0 %s
# RUN: llvm-readelf -h %t-ilp32f | FileCheck --check-prefixes=READELF-ILP32,READELF-SINGLE-V0 --match-full-lines %s

# RUN: yaml2obj %s -o %t-ilp32d -DCLASS=32 -DABI_MODIFIER=DOUBLE -DOBJABI_VER=0
# RUN: llvm-readobj -h %t-ilp32d | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-DOUBLE-V0 %s
# RUN: llvm-readelf -h %t-ilp32d | FileCheck --check-prefixes=READELF-ILP32,READELF-DOUBLE-V0 --match-full-lines %s

# RUN: yaml2obj %s -o %t-lp64s -DCLASS=64 -DABI_MODIFIER=SOFT -DOBJABI_VER=1
# RUN: llvm-readobj -h %t-lp64s | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-SOFT-V1 %s
# RUN: llvm-readelf -h %t-lp64s | FileCheck --check-prefixes=READELF-LP64,READELF-SOFT-V1 --match-full-lines %s

# RUN: yaml2obj %s -o %t-lp64f -DCLASS=64 -DABI_MODIFIER=SINGLE -DOBJABI_VER=1
# RUN: llvm-readobj -h %t-lp64f | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-SINGLE-V1 %s
# RUN: llvm-readelf -h %t-lp64f | FileCheck --check-prefixes=READELF-LP64,READELF-SINGLE-V1 --match-full-lines %s

# RUN: yaml2obj %s -o %t-lp64d -DCLASS=64 -DABI_MODIFIER=DOUBLE -DOBJABI_VER=1
# RUN: llvm-readobj -h %t-lp64d | FileCheck --check-prefixes=READOBJ-LP64,READOBJ-DOUBLE-V1 %s
# RUN: llvm-readelf -h %t-lp64d | FileCheck --check-prefixes=READELF-LP64,READELF-DOUBLE-V1 --match-full-lines %s

# RUN: yaml2obj %s -o %t-ilp32s -DCLASS=32 -DABI_MODIFIER=SOFT -DOBJABI_VER=1
# RUN: llvm-readobj -h %t-ilp32s | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-SOFT-V1 %s
# RUN: llvm-readelf -h %t-ilp32s | FileCheck --check-prefixes=READELF-ILP32,READELF-SOFT-V1 --match-full-lines %s

# RUN: yaml2obj %s -o %t-ilp32f -DCLASS=32 -DABI_MODIFIER=SINGLE -DOBJABI_VER=1
# RUN: llvm-readobj -h %t-ilp32f | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-SINGLE-V1 %s
# RUN: llvm-readelf -h %t-ilp32f | FileCheck --check-prefixes=READELF-ILP32,READELF-SINGLE-V1 --match-full-lines %s

# RUN: yaml2obj %s -o %t-ilp32d -DCLASS=32 -DABI_MODIFIER=DOUBLE -DOBJABI_VER=1
# RUN: llvm-readobj -h %t-ilp32d | FileCheck --check-prefixes=READOBJ-ILP32,READOBJ-DOUBLE-V1 %s
# RUN: llvm-readelf -h %t-ilp32d | FileCheck --check-prefixes=READELF-ILP32,READELF-DOUBLE-V1 --match-full-lines %s

# READOBJ-LP64: Class: 64-bit (0x2)
# READELF-LP64: Class: ELF64
# READOBJ-ILP32: Class: 32-bit (0x1)
# READELF-ILP32: Class: ELF32

# READOBJ-SOFT-V0:      Flags [ (0x1)
# READOBJ-SOFT-V0-NEXT:   EF_LOONGARCH_ABI_SOFT_FLOAT (0x1)
# READOBJ-SOFT-V0-NEXT: ]

# READOBJ-SINGLE-V0:      Flags [ (0x2)
# READOBJ-SINGLE-V0-NEXT:   EF_LOONGARCH_ABI_SINGLE_FLOAT (0x2)
# READOBJ-SINGLE-V0-NEXT: ]

# READOBJ-DOUBLE-V0:      Flags [ (0x3)
# READOBJ-DOUBLE-V0-NEXT:   EF_LOONGARCH_ABI_DOUBLE_FLOAT (0x3)
# READOBJ-DOUBLE-V0-NEXT: ]

# READOBJ-SOFT-V1:      Flags [ (0x41)
# READOBJ-SOFT-V1-NEXT:   EF_LOONGARCH_ABI_SOFT_FLOAT (0x1)
# READOBJ-SOFT-V1-NEXT:   EF_LOONGARCH_OBJABI_V1 (0x40)
# READOBJ-SOFT-V1-NEXT: ]

# READOBJ-SINGLE-V1:      Flags [ (0x42)
# READOBJ-SINGLE-V1-NEXT:   EF_LOONGARCH_ABI_SINGLE_FLOAT (0x2)
# READOBJ-SINGLE-V1-NEXT:   EF_LOONGARCH_OBJABI_V1 (0x40)
# READOBJ-SINGLE-V1-NEXT: ]

# READOBJ-DOUBLE-V1:      Flags [ (0x43)
# READOBJ-DOUBLE-V1-NEXT:   EF_LOONGARCH_ABI_DOUBLE_FLOAT (0x3)
# READOBJ-DOUBLE-V1-NEXT:   EF_LOONGARCH_OBJABI_V1 (0x40)
# READOBJ-DOUBLE-V1-NEXT: ]

# READELF-SOFT-V0: Flags: 0x1, SOFT-FLOAT
# READELF-SINGLE-V0: Flags: 0x2, SINGLE-FLOAT
# READELF-DOUBLE-V0: Flags: 0x3, DOUBLE-FLOAT
# READELF-SOFT-V1: Flags: 0x41, SOFT-FLOAT, OBJ-v1
# READELF-SINGLE-V1: Flags: 0x42, SINGLE-FLOAT, OBJ-v1
# READELF-DOUBLE-V1: Flags: 0x43, DOUBLE-FLOAT, OBJ-v1

--- !ELF
FileHeader:
  Class:           ELFCLASS[[CLASS]]
  Data:            ELFDATA2LSB
  Type:            ET_EXEC
  Machine:         EM_LOONGARCH
  Flags: [
    EF_LOONGARCH_ABI_[[ABI_MODIFIER]]_FLOAT,
    EF_LOONGARCH_OBJABI_V[[OBJABI_VER]],
  ]