Commit 780e7970 authored by Hans Wennborg's avatar Hans Wennborg
Browse files

Merging r340406:

------------------------------------------------------------------------
r340406 | ericwf | 2018-08-22 15:29:52 +0200 (Wed, 22 Aug 2018) | 12 lines

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: 340419
parent 7642c02f
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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: