[llvm] [LLVM] Update CUDA ELF flags for their new ABI (PR #149534)

Joseph Huber via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 21 05:48:54 PDT 2025


================
@@ -1442,7 +1442,11 @@ struct CUDAPluginTy final : public GenericPluginTy {
       return ElfOrErr.takeError();
 
     // Get the numeric value for the image's `sm_` value.
-    auto SM = ElfOrErr->getPlatformFlags() & ELF::EF_CUDA_SM;
+    const auto Header = ElfOrErr->getELFFile().getHeader();
+    unsigned SM =
+        Header.e_ident[ELF::EI_ABIVERSION] == ELF::ELFABIVERSION_CUDA_V1
+            ? Header.e_flags & ELF::EF_CUDA_SM
+            : (Header.e_flags & ELF::EF_CUDA_SM_MASK) >> 4;
----------------
jhuber6 wrote:

Whoops, yeah the `sm` flag mask is `0xff00` so we need to shift out 8 bits.

https://github.com/llvm/llvm-project/pull/149534


More information about the llvm-commits mailing list