[clangd] Re-land "support outgoing calls in call hierarchy" (#117673)
[llvm-project.git] / llvm / test / tools / yaml2obj / ELF / header-osabi.yaml
blobfcc0b6d9095f3304f7283709646051d91f2f061b
1 ## Check yaml2obj is able to set an ABI version for an object.
3 ## Check that by default yaml2obj emits ELFOSABI_NONE (0) for ABI version.
4 # RUN: yaml2obj %s --docnum=1 -o %t.default
5 # RUN: yaml2obj %s --docnum=2 -o %t.none
6 # RUN: llvm-readobj --file-headers %t.none | FileCheck %s --check-prefix=OSABI-NONE
7 # RUN: llvm-readobj --file-headers %t.default | FileCheck %s --check-prefix=OSABI-NONE
9 # OSABI-NONE: OS/ABI: SystemV (0x0)
11 --- !ELF
12 FileHeader:
13   Class: ELFCLASS64
14   Data:  ELFDATA2LSB
15   Type:  ET_REL
16   OSABI: ELFOSABI_NONE
18 --- !ELF
19 FileHeader:
20   Class: ELFCLASS64
21   Data:  ELFDATA2LSB
22   Type:  ET_REL
24 # RUN: yaml2obj %s --docnum=3 -o %t.hpux
25 # RUN: llvm-readobj --file-headers %t.hpux | FileCheck %s --check-prefix=OSABI-HPUX
27 # OSABI-HPUX: OS/ABI: HPUX (0x1)
29 --- !ELF
30 FileHeader:
31   Class: ELFCLASS64
32   Data:  ELFDATA2LSB
33   Type:  ET_REL
34   OSABI: ELFOSABI_HPUX
36 # RUN: yaml2obj %s --docnum=4 -o %t.netbsd
37 # RUN: llvm-readobj --file-headers %t.netbsd | FileCheck %s --check-prefix=OSABI-NETBSD
39 # OSABI-NETBSD: OS/ABI: NetBSD (0x2)
41 --- !ELF
42 FileHeader:
43   Class: ELFCLASS64
44   Data:  ELFDATA2LSB
45   Type:  ET_REL
46   OSABI: ELFOSABI_NETBSD
48 ## Test ELFOSABI_GNU and ELFOSABI_LINUX (historical alias for ELFOSABI_GNU).
49 # RUN: yaml2obj %s --docnum=5 -o %t.gnu
50 # RUN: llvm-readobj --file-headers %t.gnu | FileCheck %s --check-prefix=OSABI-GNU
51 # RUN: yaml2obj %s --docnum=6 -o %t.gnu.alias
52 # RUN: llvm-readobj --file-headers %t.gnu.alias | FileCheck %s --check-prefix=OSABI-GNU
53 # OSABI-GNU: OS/ABI: GNU/Linux (0x3)
55 --- !ELF
56 FileHeader:
57   Class: ELFCLASS64
58   Data:  ELFDATA2LSB
59   Type:  ET_REL
60   OSABI: ELFOSABI_GNU
62 --- !ELF
63 FileHeader:
64   Class: ELFCLASS64
65   Data:  ELFDATA2LSB
66   Type:  ET_REL
67   OSABI: ELFOSABI_LINUX
69 # RUN: yaml2obj %s --docnum=7 -o %t.hurd
70 # RUN: llvm-readobj --file-headers %t.hurd | FileCheck %s --check-prefix=OSABI-HURD
72 # OSABI-HURD: OS/ABI: GNU/Hurd (0x4)
74 --- !ELF
75 FileHeader:
76   Class: ELFCLASS64
77   Data:  ELFDATA2LSB
78   Type:  ET_REL
79   OSABI: ELFOSABI_HURD
81 # RUN: yaml2obj %s --docnum=8 -o %t.solaris
82 # RUN: llvm-readobj --file-headers %t.solaris | FileCheck %s --check-prefix=OSABI-SOLARIS
84 # OSABI-SOLARIS: OS/ABI: Solaris (0x6)
86 --- !ELF
87 FileHeader:
88   Class: ELFCLASS64
89   Data:  ELFDATA2LSB
90   Type:  ET_REL
91   OSABI: ELFOSABI_SOLARIS
93 # RUN: yaml2obj %s --docnum=9 -o %t.aix
94 # RUN: llvm-readobj --file-headers %t.aix | FileCheck %s --check-prefix=OSABI-AIX
96 # OSABI-AIX: OS/ABI: AIX (0x7)
98 --- !ELF
99 FileHeader:
100   Class: ELFCLASS64
101   Data:  ELFDATA2LSB
102   Type:  ET_REL
103   OSABI: ELFOSABI_AIX
105 # RUN: yaml2obj %s --docnum=10 -o %t.irix
106 # RUN: llvm-readobj --file-headers %t.irix | FileCheck %s --check-prefix=OSABI-IRIX
108 # OSABI-IRIX: OS/ABI: IRIX (0x8)
110 --- !ELF
111 FileHeader:
112   Class: ELFCLASS64
113   Data:  ELFDATA2LSB
114   Type:  ET_REL
115   OSABI: ELFOSABI_IRIX
117 # RUN: yaml2obj %s --docnum=11 -o %t.freebsd
118 # RUN: llvm-readobj --file-headers %t.freebsd | FileCheck %s --check-prefix=OSABI-FREEBSD
120 # OSABI-FREEBSD: OS/ABI: FreeBSD (0x9)
122 --- !ELF
123 FileHeader:
124   Class: ELFCLASS64
125   Data:  ELFDATA2LSB
126   Type:  ET_REL
127   OSABI: ELFOSABI_FREEBSD
129 # RUN: yaml2obj %s --docnum=12 -o %t.tru64
130 # RUN: llvm-readobj --file-headers %t.tru64 | FileCheck %s --check-prefix=OSABI-TRU64
132 # OSABI-TRU64: OS/ABI: TRU64 (0xA)
134 --- !ELF
135 FileHeader:
136   Class: ELFCLASS64
137   Data:  ELFDATA2LSB
138   Type:  ET_REL
139   OSABI: ELFOSABI_TRU64
141 # RUN: yaml2obj %s --docnum=13 -o %t.modesto
142 # RUN: llvm-readobj --file-headers %t.modesto | FileCheck %s --check-prefix=OSABI-MODESTO
144 # OSABI-MODESTO: OS/ABI: Modesto (0xB)
146 --- !ELF
147 FileHeader:
148   Class: ELFCLASS64
149   Data:  ELFDATA2LSB
150   Type:  ET_REL
151   OSABI: ELFOSABI_MODESTO
153 # RUN: yaml2obj %s --docnum=14 -o %t.openbsd
154 # RUN: llvm-readobj --file-headers %t.openbsd | FileCheck %s --check-prefix=OSABI-OPENBSD
156 # OSABI-OPENBSD: OS/ABI: OpenBSD (0xC)
158 --- !ELF
159 FileHeader:
160   Class: ELFCLASS64
161   Data:  ELFDATA2LSB
162   Type:  ET_REL
163   OSABI: ELFOSABI_OPENBSD
165 # RUN: yaml2obj %s --docnum=15 -o %t.openvms
166 # RUN: llvm-readobj --file-headers %t.openvms | FileCheck %s --check-prefix=OSABI-OPENVMS
168 # OSABI-OPENVMS: OS/ABI: OpenVMS (0xD)
170 --- !ELF
171 FileHeader:
172   Class: ELFCLASS64
173   Data:  ELFDATA2LSB
174   Type:  ET_REL
175   OSABI: ELFOSABI_OPENVMS
177 # RUN: yaml2obj %s --docnum=16 -o %t.nsk
178 # RUN: llvm-readobj --file-headers %t.nsk | FileCheck %s --check-prefix=OSABI-NSK
180 # OSABI-NSK: OS/ABI: NSK (0xE)
182 --- !ELF
183 FileHeader:
184   Class: ELFCLASS64
185   Data:  ELFDATA2LSB
186   Type:  ET_REL
187   OSABI: ELFOSABI_NSK
189 # RUN: yaml2obj %s --docnum=17 -o %t.aros
190 # RUN: llvm-readobj --file-headers %t.aros | FileCheck %s --check-prefix=OSABI-AROS
192 # OSABI-AROS: OS/ABI: AROS (0xF)
194 --- !ELF
195 FileHeader:
196   Class: ELFCLASS64
197   Data:  ELFDATA2LSB
198   Type:  ET_REL
199   OSABI: ELFOSABI_AROS
201 # RUN: yaml2obj %s --docnum=18 -o %t.fenixos
202 # RUN: llvm-readobj --file-headers %t.fenixos | FileCheck %s --check-prefix=OSABI-FENIXOS
204 # OSABI-FENIXOS: OS/ABI: FenixOS (0x10)
206 --- !ELF
207 FileHeader:
208   Class: ELFCLASS64
209   Data:  ELFDATA2LSB
210   Type:  ET_REL
211   OSABI: ELFOSABI_FENIXOS
213 # RUN: yaml2obj %s --docnum=19 -o %t.cloudabi
214 # RUN: llvm-readobj --file-headers %t.cloudabi | FileCheck %s --check-prefix=OSABI-CLOUDABI
216 # OSABI-CLOUDABI: OS/ABI: CloudABI (0x11)
218 --- !ELF
219 FileHeader:
220   Class: ELFCLASS64
221   Data:  ELFDATA2LSB
222   Type:  ET_REL
223   OSABI: ELFOSABI_CLOUDABI
225 # RUN: yaml2obj %s --docnum=20 -o %t.amdhsa
226 # RUN: llvm-readobj --file-headers %t.amdhsa | FileCheck %s --check-prefix=OSABI-ARCHSPEC40
227 # RUN: yaml2obj %s --docnum=21 -o %t.c6000
228 # RUN: llvm-readobj --file-headers %t.c6000 | FileCheck %s --check-prefix=OSABI-ARCHSPEC40
230 # OSABI-ARCHSPEC40: OS/ABI: 0x40
232 --- !ELF
233 FileHeader:
234   Class: ELFCLASS64
235   Data:  ELFDATA2LSB
236   Type:  ET_REL
237   OSABI: ELFOSABI_AMDGPU_HSA
239 --- !ELF
240 FileHeader:
241   Class: ELFCLASS64
242   Data:  ELFDATA2LSB
243   Type:  ET_REL
244   OSABI: ELFOSABI_C6000_ELFABI
246 # RUN: yaml2obj %s --docnum=22 -o %t.amdpal
247 # RUN: llvm-readobj --file-headers %t.amdpal | FileCheck %s --check-prefix=OSABI-ARCHSPEC41
248 # RUN: yaml2obj %s --docnum=23 -o %t.c6000linux
249 # RUN: llvm-readobj --file-headers %t.c6000linux | FileCheck %s --check-prefix=OSABI-ARCHSPEC41
251 # OSABI-ARCHSPEC41: OS/ABI: 0x41
253 --- !ELF
254 FileHeader:
255   Class: ELFCLASS64
256   Data:  ELFDATA2LSB
257   Type:  ET_REL
258   OSABI: ELFOSABI_AMDGPU_PAL
260 --- !ELF
261 FileHeader:
262   Class: ELFCLASS64
263   Data:  ELFDATA2LSB
264   Type:  ET_REL
265   OSABI: ELFOSABI_C6000_LINUX
267 # RUN: yaml2obj %s --docnum=24 -o %t.amdmesa
268 # RUN: llvm-readobj --file-headers %t.amdmesa | FileCheck %s --check-prefix=OSABI-AMD-MESA3D
270 # OSABI-AMD-MESA3D: OS/ABI: 0x42
272 --- !ELF
273 FileHeader:
274   Class: ELFCLASS64
275   Data:  ELFDATA2LSB
276   Type:  ET_REL
277   OSABI: ELFOSABI_AMDGPU_MESA3D
279 # RUN: yaml2obj %s --docnum=25 -o %t.arm
280 # RUN: llvm-readobj --file-headers %t.arm | FileCheck %s --check-prefix=OSABI-ARM
282 # OSABI-ARM: OS/ABI: 0x61
284 --- !ELF
285 FileHeader:
286   Class: ELFCLASS64
287   Data:  ELFDATA2LSB
288   Type:  ET_REL
289   OSABI: ELFOSABI_ARM
291 # RUN: yaml2obj %s --docnum=26 -o %t.standalone
292 # RUN: llvm-readobj --file-headers %t.standalone | FileCheck %s --check-prefix=OSABI-STANDALONE
294 # OSABI-STANDALONE: OS/ABI: Standalone (0xFF)
296 --- !ELF
297 FileHeader:
298   Class: ELFCLASS64
299   Data:  ELFDATA2LSB
300   Type:  ET_REL
301   OSABI: ELFOSABI_STANDALONE
303 ## Test we can use an arbitrary number for OSABI.
304 # RUN: yaml2obj %s --docnum=27 -o %t.number
305 # RUN: llvm-readobj --file-headers %t.number | FileCheck %s --check-prefix=OSABI-NUMBER
306 # OSABI-NUMBER: OS/ABI: 0xFE
308 --- !ELF
309 FileHeader:
310   Class: ELFCLASS64
311   Data:  ELFDATA2LSB
312   Type:  ET_REL
313   OSABI: 0xFE