xref: /llvm-project/lld/test/ELF/emulation-amdgpu.s (revision 5c4c199fe3cab5c1d3dd588a420817ec7877d794)
1# REQUIRES: amdgpu
2
3# RUN: llvm-mc -filetype=obj -triple=amdgcn-amd-amdhsa --amdhsa-code-object-version=4 %s -o %t.o
4# RUN: ld.lld %t.o -o %t
5# RUN: llvm-readobj --file-headers %t | FileCheck --check-prefixes=CHECK,HSA4 %s
6# RUN: ld.lld -m elf64_amdgpu %t.o -o %t
7# RUN: llvm-readobj --file-headers %t | FileCheck --check-prefixes=CHECK,HSA4 %s
8
9# RUN: llvm-mc -filetype=obj -triple=amdgcn-amd-amdhsa --amdhsa-code-object-version=5 %s -o %t.o
10# RUN: ld.lld %t.o -o %t
11# RUN: llvm-readobj --file-headers %t | FileCheck --check-prefixes=CHECK,HSA5 %s
12# RUN: ld.lld -m elf64_amdgpu %t.o -o %t
13# RUN: llvm-readobj --file-headers %t | FileCheck --check-prefixes=CHECK,HSA5 %s
14
15# CHECK:      ElfHeader {
16# CHECK-NEXT:   Ident {
17# CHECK-NEXT:     Magic: (7F 45 4C 46)
18# CHECK-NEXT:     Class: 64-bit (0x2)
19# CHECK-NEXT:     DataEncoding: LittleEndian (0x1)
20# CHECK-NEXT:     FileVersion: 1
21# CHECK-NEXT:     OS/ABI: AMDGPU_HSA (0x40)
22# HSA4:           ABIVersion: 2
23# HSA5:           ABIVersion: 3
24# CHECK:          Unused: (00 00 00 00 00 00 00)
25# CHECK-NEXT:   }
26# CHECK-NEXT:   Type: Executable (0x2)
27# CHECK-NEXT:   Machine: EM_AMDGPU (0xE0)
28# CHECK-NEXT:   Version: 1
29# CHECK-NEXT:   Entry:
30# CHECK-NEXT:   ProgramHeaderOffset: 0x40
31# CHECK-NEXT:   SectionHeaderOffset:
32# CHECK-NEXT:   Flags [ (0x0)
33# CHECK-NEXT:   ]
34# CHECK-NEXT:   HeaderSize: 64
35# CHECK-NEXT:   ProgramHeaderEntrySize: 56
36# CHECK-NEXT:   ProgramHeaderCount:
37# CHECK-NEXT:   SectionHeaderEntrySize: 64
38# CHECK-NEXT:   SectionHeaderCount:
39# CHECK-NEXT:   StringTableSectionIndex:
40# CHECK-NEXT: }
41
42.globl _start
43_start:
44