[AMDGPU][LLD] Adding support for ABI version 5 option
authorJacob Lambert <jacob.lambert@amd.com>
Mon, 21 Mar 2022 20:54:08 +0000 (13:54 -0700)
committerJacob Lambert <jacob.lambert@amd.com>
Wed, 23 Mar 2022 08:22:37 +0000 (01:22 -0700)
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

lld/ELF/Arch/AMDGPU.cpp
lld/test/ELF/amdgpu-abi-version.s

index 05e6b37..c7a6edc 100644 (file)
@@ -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));
index 777a0c3..455a52a 100644 (file)
@@ -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