[libcxx-commits] [PATCH] D108430: add tsan library
Zijun Zhao via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Aug 19 17:45:46 PDT 2021
ZijunZhao created this revision.
ZijunZhao added a reviewer: danalbert.
Herald added subscribers: arichardson, mgorny.
ZijunZhao requested review of this revision.
Herald added projects: Sanitizers, libc++.
Herald added subscribers: libcxx-commits, Sanitizers.
Herald added a reviewer: libc++.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D108430
Files:
compiler-rt/lib/tsan/CMakeLists.txt
libcxx/utils/merge_archives.py
Index: libcxx/utils/merge_archives.py
===================================================================
--- libcxx/utils/merge_archives.py
+++ libcxx/utils/merge_archives.py
@@ -8,6 +8,7 @@
#===----------------------------------------------------------------------===##
from argparse import ArgumentParser
+from ctypes.util import find_library
import distutils.spawn
import tempfile
import os
Index: compiler-rt/lib/tsan/CMakeLists.txt
===================================================================
--- compiler-rt/lib/tsan/CMakeLists.txt
+++ compiler-rt/lib/tsan/CMakeLists.txt
@@ -24,6 +24,12 @@
append_list_if(COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG -Wglobal-constructors
TSAN_RTL_CFLAGS)
+set(TSAN_RTL_DYNAMIC_CFLAGS ${TSAN_RTL_CFLAGS})
+list(REMOVE_ITEM TSAN_RTL_DYNAMIC_CFLAGS -fPIE)
+
+append_list_if(COMPILER_RT_HAS_LIBDL dl TSAN_DYNAMIC_LINK_LIBS)
+append_list_if(COMPILER_RT_HAS_LIBPTHREAD pthread TSAN_DYNAMIC_LINK_LIBS)
+
set(TSAN_SOURCES
rtl/tsan_clock.cpp
rtl/tsan_debugging.cpp
@@ -257,6 +263,20 @@
PARENT_TARGET tsan)
list(APPEND TSAN_RUNTIME_LIBRARIES clang_rt.tsan-${arch}
clang_rt.tsan_cxx-${arch})
+ add_compiler_rt_runtime(clang_rt.tsan
+ SHARED
+ ARCHS ${arch}
+ SOURCES ${TSAN_SOURCES} ${TSAN_ASM_SOURCES}
+ $<TARGET_OBJECTS:RTInterception.${arch}>
+ $<TARGET_OBJECTS:RTSanitizerCommon.${arch}>
+ $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>
+ $<TARGET_OBJECTS:RTSanitizerCommonCoverage.${arch}>
+ $<TARGET_OBJECTS:RTSanitizerCommonSymbolizer.${arch}>
+ $<TARGET_OBJECTS:RTUbsan.${arch}>
+ ADDITIONAL_HEADERS ${TSAN_HEADERS}
+ CFLAGS ${TSAN_RTL_DYNAMIC_CFLAGS}
+ LINK_LIBS ${TSAN_DYNAMIC_LINK_LIBS}
+ PARENT_TARGET tsan)
add_sanitizer_rt_symbols(clang_rt.tsan
ARCHS ${arch}
EXTRA rtl/tsan.syms.extra)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D108430.367671.patch
Type: text/x-patch
Size: 1956 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210820/96b46f1c/attachment-0001.bin>
More information about the libcxx-commits
mailing list