[lld] 71b162c - [AMDGPU][LLD] Adding support for ABI version 5 option

Jacob Lambert via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 23 01:22:47 PDT 2022


Author: Jacob Lambert
Date: 2022-03-23T01:22:37-07:00
New Revision: 71b162c4bdf7844a46a92bfd4e6eb03337331893

URL: https://github.com/llvm/llvm-project/commit/71b162c4bdf7844a46a92bfd4e6eb03337331893
DIFF: https://github.com/llvm/llvm-project/commit/71b162c4bdf7844a46a92bfd4e6eb03337331893.diff

LOG: [AMDGPU][LLD] Adding support for ABI version 5 option

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

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/lld/ELF/Arch/AMDGPU.cpp b/lld/ELF/Arch/AMDGPU.cpp
index 05e6b37fb799d..c7a6edca6733b 100644
--- a/lld/ELF/Arch/AMDGPU.cpp
+++ b/lld/ELF/Arch/AMDGPU.cpp
@@ -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));

diff  --git a/lld/test/ELF/amdgpu-abi-version.s b/lld/test/ELF/amdgpu-abi-version.s
index 777a0c3eba807..455a52aec9210 100644
--- a/lld/test/ELF/amdgpu-abi-version.s
+++ b/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


        


More information about the llvm-commits mailing list