From ac8fc09688e10e983b99224b5dc5cbbeeedb1879 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sun, 20 Apr 2025 06:16:19 +0200 Subject: [PATCH] [offload] Unset `-march` when building GPU libraries (#136442) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unset `-march` when invoking the compiler and linker to build the GPU libraries. These libraries use GPU targets rather than the CPU targets, and an incidental `-march=native` causes Clang to be able to determine the GPU used — which causes the build to fail when there is no GPU available. Resetting `-march=` should suffice to revert to building generic code for the time being. See the discussion in: https://github.com/llvm/llvm-project/pull/126143#issuecomment-2816718492 --- offload/DeviceRTL/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/offload/DeviceRTL/CMakeLists.txt b/offload/DeviceRTL/CMakeLists.txt index 2da2ade94f4e..346b65c887bb 100644 --- a/offload/DeviceRTL/CMakeLists.txt +++ b/offload/DeviceRTL/CMakeLists.txt @@ -137,9 +137,9 @@ function(compileDeviceRTLLibrary target_name target_triple) BUILD_RPATH "" INSTALL_RPATH "" RUNTIME_OUTPUT_NAME libomptarget-${target_name}.bc) - target_compile_options(libomptarget-${target_name} PRIVATE "--target=${target_triple}") + target_compile_options(libomptarget-${target_name} PRIVATE "--target=${target_triple}" "-march=") target_link_options(libomptarget-${target_name} PRIVATE "--target=${target_triple}" - "-r" "-nostdlib" "-flto" "-Wl,--lto-emit-llvm") + "-r" "-nostdlib" "-flto" "-Wl,--lto-emit-llvm" "-march=") install(TARGETS libomptarget-${target_name} PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ DESTINATION ${OFFLOAD_INSTALL_LIBDIR})