From 03533087105994646891a903e4730fa68b8bf173 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Wed, 22 Aug 2018 13:29:52 +0000 Subject: [PATCH] Attempt to unbreak filesystem tests on certain linux distros. On some platforms clock_gettime is in librt, which we don't link by default when building the tests. However it is required by the filesystem tests. This patch introduces a workaround which links librt whenever the filesystem tests are enabled. The workaround should later be replaced with a patch that selectively links both libc++fs and librt only when building filesystem specific tests. However, the way the test configuration is set up right now, this is non-trivial. llvm-svn: 340406 --- libcxx/utils/libcxx/test/target_info.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libcxx/utils/libcxx/test/target_info.py b/libcxx/utils/libcxx/test/target_info.py index 0e93e11..de2232f 100644 --- a/libcxx/utils/libcxx/test/target_info.py +++ b/libcxx/utils/libcxx/test/target_info.py @@ -222,12 +222,17 @@ class LinuxLocalTI(DefaultTargetInfo): self.full_config.config.available_features) llvm_unwinder = self.full_config.get_lit_bool('llvm_unwinder', False) shared_libcxx = self.full_config.get_lit_bool('enable_shared', True) + # FIXME: Remove the need to link -lrt in all the tests, and instead + # limit it only to the filesystem tests. This ensures we don't cause an + # implicit dependency on librt except when filesystem is needed. + enable_fs = self.full_config.get_lit_bool('enable_filesystem', + default=False) flags += ['-lm'] if not llvm_unwinder: flags += ['-lgcc_s', '-lgcc'] if enable_threads: flags += ['-lpthread'] - if not shared_libcxx: + if not shared_libcxx or enable_fs: flags += ['-lrt'] flags += ['-lc'] if llvm_unwinder: -- 2.7.4