Author: Dimitry Andric Date: 2020-08-18T12:41:06+02:00 New Revision: a3e8436475242e4d4b8669840f3bf954a538f23f
URL: https://github.com/llvm/llvm-project/commit/a3e8436475242e4d4b8669840f3bf954a538f23f DIFF: https://github.com/llvm/llvm-project/commit/a3e8436475242e4d4b8669840f3bf954a538f23f.diff LOG: On FreeBSD, add -pthread to ASan dynamic compile flags for tests Otherwise, lots of these tests fail with a CHECK error similar to: ==12345==AddressSanitizer CHECK failed: compiler-rt/lib/asan/asan_posix.cpp:120 "((0)) == ((pthread_key_create(&tsd_key, destructor)))" (0x0, 0x4e) This is because the default pthread stubs in FreeBSD's libc always return failures (such as ENOSYS for pthread_key_create) in case the pthread library is not linked in. Reviewed By: arichardson Differential Revision: https://reviews.llvm.org/D85082 (cherry picked from commit 3aecf4bdf3f87e674724ad58d94c4b728feecb2e) Added: Modified: compiler-rt/test/asan/lit.cfg.py Removed: ################################################################################ diff --git a/compiler-rt/test/asan/lit.cfg.py b/compiler-rt/test/asan/lit.cfg.py index 9045c6ec8f9c..63c02f7ddeeb 100644 --- a/compiler-rt/test/asan/lit.cfg.py +++ b/compiler-rt/test/asan/lit.cfg.py @@ -91,9 +91,12 @@ def push_dynamic_library_lookup_path(config, new_path): asan_dynamic_flags = [] if config.asan_dynamic: asan_dynamic_flags = ["-shared-libasan"] - # On Windows, we need to simulate "clang-cl /MD" on the clang driver side. if platform.system() == 'Windows': + # On Windows, we need to simulate "clang-cl /MD" on the clang driver side. asan_dynamic_flags += ["-D_MT", "-D_DLL", "-Wl,-nodefaultlib:libcmt,-defaultlib:msvcrt,-defaultlib:oldnames"] + elif platform.system() == 'FreeBSD': + # On FreeBSD, we need to add -pthread to ensure pthread functions are available. + asan_dynamic_flags += ['-pthread'] config.available_features.add("asan-dynamic-runtime") else: config.available_features.add("asan-static-runtime") _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits