Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
authorSiva Chandra Reddy <sivachandra@google.com>2022-03-29 00:11:08 +0300
committerSiva Chandra Reddy <sivachandra@google.com>2022-03-29 02:46:21 +0300
commit2c20c9003baa2ac69d847fa8384dcdca5b878ebd (patch)
tree313d8e650d085f78baa1a0b48aca0f1a5145c7a1 /libc
parent75c8585ef02ab27faa12ace25263b5b4e9bcbc2a (diff)
[libc] Set rtlib to compiler-rt in integration tests.
The clang driver to picks up compiler runtime files using full paths. Without this, at least for aarch64, the driver tries to pick up the compiler runtime files from the working directory. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D122617
Diffstat (limited to 'libc')
-rw-r--r--libc/cmake/modules/LLVMLibCTestRules.cmake7
1 files changed, 6 insertions, 1 deletions
diff --git a/libc/cmake/modules/LLVMLibCTestRules.cmake b/libc/cmake/modules/LLVMLibCTestRules.cmake
index 3bbebb0cc11a..4fe6834aecf7 100644
--- a/libc/cmake/modules/LLVMLibCTestRules.cmake
+++ b/libc/cmake/modules/LLVMLibCTestRules.cmake
@@ -389,7 +389,12 @@ function(add_integration_test test_name)
${LIBC_BUILD_DIR}
${LIBC_BUILD_DIR}/include
)
- target_link_options(${fq_target_name} PRIVATE --sysroot=${sysroot} -static -stdlib=libc++)
+ # We set a number of link options to prevent picking up system libc binaries.
+ # Also, we restrict the integration tests to fully static executables. The
+ # rtlib is set to compiler-rt to make the compiler drivers pick up the compiler
+ # runtime binaries using full paths. Otherwise, files like crtbegin.o are passed
+ # as is (and not as paths like /usr/lib/.../crtbegin.o).
+ target_link_options(${fq_target_name} PRIVATE --sysroot=${sysroot} -static -stdlib=libc++ --rtlib=compiler-rt)
add_dependencies(${fq_target_name}
${fq_target_name}.__copy_loader__
${fq_libc_target_name}