23 lines · cpp
1// Verify the ELF packaging of OpenMP SPIR-V device images.2// REQUIRES: system-linux3// REQUIRES: spirv-tools4// REQUIRES: spirv-registered-target5// RUN: mkdir -p %t_tmp6// RUN: cd %t_tmp7// RUN: %clangxx -fopenmp -fopenmp-targets=spirv64-intel -nogpulib -c -o %t_clang-linker-wrapper-spirv-elf.o %s8// RUN: not clang-linker-wrapper -o a.out %t_clang-linker-wrapper-spirv-elf.o --save-temps --linker-path=ld9// RUN: llvm-offload-binary --image=triple=spirv64-intel,kind=openmp,file=%t.elf %t_tmp/a.out.openmp.image.wrapper.o10// RUN: llvm-readelf -h %t.elf | FileCheck -check-prefix=CHECK-MACHINE %s11// RUN: llvm-readelf -t %t.elf | FileCheck -check-prefix=CHECK-SECTION %s12// RUN: llvm-readelf -n %t.elf | FileCheck -check-prefix=CHECK-NOTES %s13 14// CHECK-MACHINE: Machine: Intel Graphics Technology15 16// CHECK-SECTION: .note.inteloneompoffload17// CHECK-SECTION: __openmp_offload_spirv_018 19// CHECK-NOTES-COUNT-3: INTELONEOMPOFFLOAD20int main(int argc, char** argv) {21 return 0;22}23