Skip to content

Commit

Permalink
[AMDGPU][LLD] Adding support for ABI version 5 option
Browse files Browse the repository at this point in the history
Code object version 5 will use the same EFlags as version 4, so we only need to add an additional case

Differential Revision: https://reviews.llvm.org/D122190
  • Loading branch information
lamb-j committed Mar 23, 2022
1 parent 84caf73 commit 71b162c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
1 change: 1 addition & 0 deletions lld/ELF/Arch/AMDGPU.cpp
Expand Up @@ -114,6 +114,7 @@ uint32_t AMDGPU::calcEFlags() const {
case ELFABIVERSION_AMDGPU_HSA_V3:
return calcEFlagsV3();
case ELFABIVERSION_AMDGPU_HSA_V4:
case ELFABIVERSION_AMDGPU_HSA_V5:
return calcEFlagsV4();
default:
error("unknown abi version: " + Twine(abiVersion));
Expand Down
20 changes: 17 additions & 3 deletions lld/test/ELF/amdgpu-abi-version.s
@@ -1,10 +1,24 @@
# REQUIRES: amdgpu
# RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx900 --amdhsa-code-object-version=3 -filetype=obj %s -o %t.o
# RUN: ld.lld -shared %t.o -o %t.so
# RUN: llvm-readobj --file-headers %t.so | FileCheck %s
# RUN: llvm-readobj --file-headers %t.so | FileCheck --check-prefix=COV3 %s

# CHECK: OS/ABI: AMDGPU_HSA (0x40)
# CHECK: ABIVersion: 1
# COV3: OS/ABI: AMDGPU_HSA (0x40)
# COV3: ABIVersion: 1

# RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx900 --amdhsa-code-object-version=4 -filetype=obj %s -o %t.o
# RUN: ld.lld -shared %t.o -o %t.so
# RUN: llvm-readobj --file-headers %t.so | FileCheck --check-prefix=COV4 %s

# COV4: OS/ABI: AMDGPU_HSA (0x40)
# COV4: ABIVersion: 2

# RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx900 --amdhsa-code-object-version=5 -filetype=obj %s -o %t.o
# RUN: ld.lld -shared %t.o -o %t.so
# RUN: llvm-readobj --file-headers %t.so | FileCheck --check-prefix=COV5 %s

# COV5: OS/ABI: AMDGPU_HSA (0x40)
# COV5: ABIVersion: 3

.text
s_nop 0x0
Expand Down

0 comments on commit 71b162c

Please sign in to comment.