[libc-commits] [libc] [libc][startup] set --target= for linker when cross compiling (PR #96342)
via libc-commits
libc-commits at lists.llvm.org
Fri Jun 21 11:23:36 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
Author: Nick Desaulniers (paternity leave) (nickdesaulniers)
<details>
<summary>Changes</summary>
Otherwise the startup objects will fail to link since they were cross compiled,
but the linker is not informed of the intent to cross compile, which results in
linker errors when the host architecture does not match the target
architecture.
---
Full diff: https://github.com/llvm/llvm-project/pull/96342.diff
1 Files Affected:
- (modified) libc/startup/linux/CMakeLists.txt (+1-1)
``````````diff
diff --git a/libc/startup/linux/CMakeLists.txt b/libc/startup/linux/CMakeLists.txt
index 68f68ff45aa9e..31c0ada31aebd 100644
--- a/libc/startup/linux/CMakeLists.txt
+++ b/libc/startup/linux/CMakeLists.txt
@@ -26,7 +26,7 @@ function(merge_relocatable_object name)
)
# Pass -r to the driver is much cleaner than passing -Wl,-r: the compiler knows it is
# a relocatable linking and will not pass other irrelevant flags to the linker.
- target_link_options(${relocatable_target} PRIVATE -r -nostdlib)
+ target_link_options(${relocatable_target} PRIVATE -r -nostdlib --target=${explicit_target_triple})
set_target_properties(
${relocatable_target}
PROPERTIES
``````````
</details>
https://github.com/llvm/llvm-project/pull/96342
More information about the libc-commits
mailing list