| # REQUIRES: amdgpu | |
| # RUN: llvm-mc -filetype=obj -triple=amdgpu7.00-amd-amdhsa --amdhsa-code-object-version=4 %s -o %t.o | |
| # RUN: ld.lld %t.o -o %t | |
| # RUN: llvm-readobj --file-headers %t | FileCheck --check-prefixes=CHECK,HSA4 %s | |
| # RUN: ld.lld -m elf64_amdgpu %t.o -o %t | |
| # RUN: llvm-readobj --file-headers %t | FileCheck --check-prefixes=CHECK,HSA4 %s | |
| # RUN: llvm-mc -filetype=obj -triple=amdgpu7.00-amd-amdhsa --amdhsa-code-object-version=5 %s -o %t.o | |
| # RUN: ld.lld %t.o -o %t | |
| # RUN: llvm-readobj --file-headers %t | FileCheck --check-prefixes=CHECK,HSA5 %s | |
| # RUN: ld.lld -m elf64_amdgpu %t.o -o %t | |
| # RUN: llvm-readobj --file-headers %t | FileCheck --check-prefixes=CHECK,HSA5 %s | |
| # CHECK: ElfHeader { | |
| # CHECK-NEXT: Ident { | |
| # CHECK-NEXT: Magic: (7F 45 4C 46) | |
| # CHECK-NEXT: Class: 64-bit (0x2) | |
| # CHECK-NEXT: DataEncoding: LittleEndian (0x1) | |
| # CHECK-NEXT: FileVersion: 1 | |
| # CHECK-NEXT: OS/ABI: AMDGPU_HSA (0x40) | |
| # HSA4: ABIVersion: 2 | |
| # HSA5: ABIVersion: 3 | |
| # CHECK: Unused: (00 00 00 00 00 00 00) | |
| # CHECK-NEXT: } | |
| # CHECK-NEXT: Type: Executable (0x2) | |
| # CHECK-NEXT: Machine: EM_AMDGPU (0xE0) | |
| # CHECK-NEXT: Version: 1 | |
| # CHECK-NEXT: Entry: | |
| # CHECK-NEXT: ProgramHeaderOffset: 0x40 | |
| # CHECK-NEXT: SectionHeaderOffset: | |
| # CHECK-NEXT: Flags [ | |
| # CHECK-NEXT: EF_AMDGPU_MACH_AMDGCN_GFX700 (0x22) | |
| # CHECK-NEXT: ] | |
| # CHECK-NEXT: HeaderSize: 64 | |
| # CHECK-NEXT: ProgramHeaderEntrySize: 56 | |
| # CHECK-NEXT: ProgramHeaderCount: | |
| # CHECK-NEXT: SectionHeaderEntrySize: 64 | |
| # CHECK-NEXT: SectionHeaderCount: | |
| # CHECK-NEXT: StringTableSectionIndex: | |
| # CHECK-NEXT: } | |
| .globl _start | |
| _start: |