https://github.com/sarnex updated https://github.com/llvm/llvm-project/pull/159623
>From 44d9db71dafd87e21fecf32653692b8389b3c7e5 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" <[email protected]> Date: Thu, 18 Sep 2025 11:52:51 -0700 Subject: [PATCH 1/2] [Offload] Change ELF machine type for SPIR-V OpenMP image Signed-off-by: Sarnie, Nick <[email protected]> --- clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp | 3 +++ llvm/lib/Frontend/Offloading/Utility.cpp | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp b/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp index af98904677283..1bf4572ee566c 100644 --- a/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp +++ b/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp @@ -7,9 +7,12 @@ // RUN: %clangxx -fopenmp -fopenmp-targets=spirv64-intel -nogpulib -c -o %t_clang-linker-wrapper-spirv-elf.o %s // RUN: not clang-linker-wrapper -o a.out %t_clang-linker-wrapper-spirv-elf.o --save-temps --linker-path=ld // RUN: clang-offload-packager --image=triple=spirv64-intel,kind=openmp,file=%t.elf %t_tmp/a.out.openmp.image.wrapper.o +// RUN: llvm-readelf -h %t.elf | FileCheck -check-prefix=CHECK-MACHINE %s // RUN: llvm-readelf -t %t.elf | FileCheck -check-prefix=CHECK-SECTION %s // RUN: llvm-readelf -n %t.elf | FileCheck -check-prefix=CHECK-NOTES %s +// CHECK-MACHINE: Machine: 8086 + // CHECK-SECTION: .note.inteloneompoffload // CHECK-SECTION: __openmp_offload_spirv_0 diff --git a/llvm/lib/Frontend/Offloading/Utility.cpp b/llvm/lib/Frontend/Offloading/Utility.cpp index 5dcc16d23004c..7cb83987f36d2 100644 --- a/llvm/lib/Frontend/Offloading/Utility.cpp +++ b/llvm/lib/Frontend/Offloading/Utility.cpp @@ -423,9 +423,10 @@ Error offloading::intel::containerizeOpenMPSPIRVImage( Header.Class = ELF::ELFCLASS64; Header.Data = ELF::ELFDATA2LSB; Header.Type = ELF::ET_DYN; - // Use an existing Intel machine type as there is not one specifically for - // Intel GPUs. - Header.Machine = ELF::EM_IA_64; + // Use a fake machine type as there is not one specifically for + // Intel GPUs, the associated runtime plugin is looking for + // this value. + Header.Machine = 0x8086; // Create a section with notes. ELFYAML::NoteSection Section{}; >From 2c5ab6c6a62438f389d078cd91e666841f25bbfb Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" <[email protected]> Date: Mon, 22 Sep 2025 08:02:14 -0700 Subject: [PATCH 2/2] do something that makes sense Signed-off-by: Sarnie, Nick <[email protected]> --- clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp | 2 +- llvm/lib/Frontend/Offloading/Utility.cpp | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp b/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp index 1bf4572ee566c..85208fc8e925c 100644 --- a/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp +++ b/clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp @@ -11,7 +11,7 @@ // RUN: llvm-readelf -t %t.elf | FileCheck -check-prefix=CHECK-SECTION %s // RUN: llvm-readelf -n %t.elf | FileCheck -check-prefix=CHECK-NOTES %s -// CHECK-MACHINE: Machine: 8086 +// CHECK-MACHINE: Machine: Intel Graphics Technology // CHECK-SECTION: .note.inteloneompoffload // CHECK-SECTION: __openmp_offload_spirv_0 diff --git a/llvm/lib/Frontend/Offloading/Utility.cpp b/llvm/lib/Frontend/Offloading/Utility.cpp index 7cb83987f36d2..4b75307ca0b6c 100644 --- a/llvm/lib/Frontend/Offloading/Utility.cpp +++ b/llvm/lib/Frontend/Offloading/Utility.cpp @@ -423,10 +423,7 @@ Error offloading::intel::containerizeOpenMPSPIRVImage( Header.Class = ELF::ELFCLASS64; Header.Data = ELF::ELFDATA2LSB; Header.Type = ELF::ET_DYN; - // Use a fake machine type as there is not one specifically for - // Intel GPUs, the associated runtime plugin is looking for - // this value. - Header.Machine = 0x8086; + Header.Machine = ELF::EM_INTELGT; // Create a section with notes. ELFYAML::NoteSection Section{}; _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
