-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[Offload] Override linker for device build #137246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Summary: Override the default linker in case the user is passing it separately. This requires `lld` but it always did. This will be fixed *properly* when llvm#136729 lands.
@llvm/pr-subscribers-offload Author: Joseph Huber (jhuber6) ChangesSummary: Fixes #136822 Full diff: https://github.com/llvm/llvm-project/pull/137246.diff 1 Files Affected:
diff --git a/offload/DeviceRTL/CMakeLists.txt b/offload/DeviceRTL/CMakeLists.txt
index b1c48cbaefe16..f8a6d8563916a 100644
--- a/offload/DeviceRTL/CMakeLists.txt
+++ b/offload/DeviceRTL/CMakeLists.txt
@@ -132,9 +132,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}" "-march=")
+ target_compile_options(libomptarget-${target_name} PRIVATE "--target=${target_triple}" "-fuse-ld=lld" "-march=")
target_link_options(libomptarget-${target_name} PRIVATE "--target=${target_triple}"
- "-r" "-nostdlib" "-flto" "-Wl,--lto-emit-llvm" "-march=")
+ "-r" "-nostdlib" "-flto" "-Wl,--lto-emit-llvm" "-fuse-ld=lld" "-march=")
install(TARGETS libomptarget-${target_name}
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/${target_triple}")
@@ -151,6 +151,8 @@ function(compileDeviceRTLLibrary target_name target_triple)
LINKER_LANGUAGE CXX
)
target_link_libraries(omptarget.${target_name} PRIVATE omptarget.${target_name}.all_objs)
+ target_link_options(omptarget.${target_name} PRIVATE "--target=${target_triple}"
+ "-r" "-nostdlib" "-flto" "-Wl,--lto-emit-llvm" "-fuse-ld=lld" "-march=")
install(TARGETS omptarget.${target_name}
ARCHIVE DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/${target_triple}")
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable for the meantime
Summary: Override the default linker in case the user is passing it separately. This requires `lld` but it always did. This will be fixed *properly* when llvm#136729 lands. Fixes llvm#136822
Summary: Override the default linker in case the user is passing it separately. This requires `lld` but it always did. This will be fixed *properly* when llvm#136729 lands. Fixes llvm#136822
Summary: Override the default linker in case the user is passing it separately. This requires `lld` but it always did. This will be fixed *properly* when llvm#136729 lands. Fixes llvm#136822
Summary: Override the default linker in case the user is passing it separately. This requires `lld` but it always did. This will be fixed *properly* when llvm#136729 lands. Fixes llvm#136822
Summary: Override the default linker in case the user is passing it separately. This requires `lld` but it always did. This will be fixed *properly* when llvm#136729 lands. Fixes llvm#136822
Summary:
Override the default linker in case the user is passing it separately.
This requires
lld
but it always did. This will be fixed properlywhen #136729 lands.
Fixes #136822