<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/86901>86901</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang can't build libc++ with thread sanitizer support
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang,
            libc++
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          sogartar
      </td>
    </tr>
</table>

<pre>
    Configure command
```
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"

BUILD_TYPE=Debug
SRC_DIR=$SCRIPT_DIR/repo/runtimes
BUILD_DIR=$SCRIPT_DIR/build/libc++/$BUILD_TYPE

cmake \
  -G Ninja \
  -B "$BUILD_DIR" \
  -S "$SRC_DIR" \
 -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
  -DCMAKE_C_COMPILER=clang-17 \
 -DCMAKE_CXX_COMPILER=clang++-17 \
  -DLLVM_USE_LINKER=lld-17 \
 -DCMAKE_CXX_FLAGS="-fsanitize=thread" \
 -DCMAKE_C_FLAGS="-fsanitize=thread" \
 -DCMAKE_STATIC_LINKER_FLAGS="-fsanitize=thread" \
 -DCMAKE_SHARED_LINKER_FLAGS="-fsanitize=thread" \
 -DCMAKE_EXE_LINKER_FLAGS="-fsanitize=thread" \
 -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind"
```

Build command:
```
cmake --build "$BUILD_DIR" \
  --target cxx cxx_experimental
```

Error:
```
FAILED: lib/libunwind.so.1.0 
: && /usr/bin/clang-17 -fPIC -fsanitize=thread -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -fsanitize=thread -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld-17 -Wl,--color-diagnostics -shared -Wl,-soname,libunwind.so.1 -o lib/libunwind.so.1.0 libunwind/src/CMakeFiles/unwind_shared_objects.dir/libunwind.cpp.o libunwind/src/CMakeFiles/unwind_shared_objects.dir/Unwind-EHABI.cpp.o libunwind/src/CMakeFiles/unwind_shared_objects.dir/Unwind-seh.cpp.o libunwind/src/CMakeFiles/unwind_shared_objects.dir/UnwindLevel1.c.o libunwind/src/CMakeFiles/unwind_shared_objects.dir/UnwindLevel1-gcc-ext.c.o libunwind/src/CMakeFiles/unwind_shared_objects.dir/Unwind-sjlj.c.o libunwind/src/CMakeFiles/unwind_shared_objects.dir/Unwind-wasm.c.o libunwind/src/CMakeFiles/unwind_shared_objects.dir/UnwindRegistersRestore.S.o libunwind/src/CMakeFiles/unwind_shared_objects.dir/UnwindRegistersSave.S.o -lgcc_s  -lgcc  -lc  -ldl  -lpthread && :
ld.lld-17: error: undefined symbol: __tsan_func_entry
>>> referenced by libunwind.cpp:0 (/home/bpetkant/ws/llvm/repo/libunwind/src/libunwind.cpp:0)
>>> libunwind/src/CMakeFiles/unwind_shared_objects.dir/libunwind.cpp.o:(__unw_init_local)
```

I am using `clang-17` from the Ubuntu 22.04 package as described here https://apt.llvm.org/.
Trying to build on commit 14ba782a87e16e9e15460a51f50e67e2744c26d9.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysV92S2joSfhpxoxJly_xecAHGPqEOk5OCmZ3slUu22kaJLLGSPMzk6bdkmwE2kz1VOVQZ25JaX3_d9I_MrBWVAlig8QqN1wPWuIM2C6srZhwzg1zzt0WsVSmqxgAudF0zxVGwRsESTYL-aof7eLf58pitNzsUrRGliI4QneGCY0LwZcyFUayGq8nparXcf8r2fz3t4gSNVwEar9HUQ2BE591jgqIEI5pyeEE0VY2U7SSd4OOJ92I9q_a-etps19njv78kKFqvIW-qnuQufmc4umJMUwNH7R-NcqIGew3z8Ya8EZIjmkqRF4iu2itFdHSl-opQUbPvgNE47oYYkz_wZ6G-sZu5Ve-Ti15v_ZXAvhc423GzTNbxw_LPJLsx_obRDVYvHWfxXw9fNtvEG1lIpioSTj9Ajb9-_Umys_tWHpP1dvuvh-xpn2Tbzec_W2kp-a9R0-3yj30XNKS0TAknfgCK1u5ggPGPbYx_a9f-cfm4iXtav4fwablL1v8EIfma_N721qvJ5-Vqm2S7p8-Pm4ek3-xD8PUVRavuheWie2_USSh-SY3bhO1D3Ifxe2JHyw9Fu-glpI35v4tR4pipwOHi9dX_Mng9ghE1KMfk_yGSGKPNrwiky802WaNoiaXIu6TrjBtaPQyHAe53RctzXUA0bazxeSoUoul7YJPyyybGH7gbk2foKKw5c0B8Gbiaa1TVMMOBE_bChGS5kMK9EQUnTJ6ZlF701RmGybPSpFGNBU6OzLAaHBhMnk9GOCDWGaEqi8lzwawj_2mY31kLa4WqSClAciI8MybFDzBeUNRHKQrhSMmkdAejm-rg9-sXMMCJPQlXHAiHkjXSYfLcqSCFVi9grNCqUyCBcT8vFPd_hesWCsc4qdlbDqRRtjketXHAMSm5YJXS1onCkkJLbTCpfuE2iWhMfiAacyjt9VhpDhIcYFI2Fojkl0rQS3XQ5EoZJvbADLzjWu3bBaLx7V-Oif5VKFwFfmpNgWgaP7DvkAoJ1kdFu5Z1WjKdf4PC2SEX5garOB6H-p9APbVrJPm0XG3uhmbhcC-sLbyADIfF_bBIVRQEXt19MIn9Jr_dCerEbH0fqB1UwjowdgfWaQPD_V1R9-ylgySyKorM4u7FP9obl_5-7DPvXOnONVPyYZddvgz2dWuJG8WhFAo4tm91rqWfyzJnmcrKRhUZKGfezuUz6S5soAQDqgCO8zd8kxYoWgYY0Rmi6UH7zEzzI7jvTDlE05M3WMqX-nKi-tk7P8H589v_ELhfEnv30FmWNeqU-cqaSV0weVH5US_aYFbjxpdkjCbBuXegSYBLo2vsDoCf8ka5BlM6DEb4yIrvrALMLOZgCyNy4PgABvDBuaNtKaSIpuzoht47Q20qRNNhp-3RvHlNTuOuv2rV9mPhcDjK2XRG2WwK4QTmEI5Hk4CNw3IcwGQKdDoaFXTC5z3QgC8iPo_mbACLcBqG49l8NAsGh8WEzYNgNJ9PJxDN-DxkEedFWQAPwjDks_FALGhAR0FEZ0EYhTQYslk5GpezWUSjHPIgQqMAaibkO_2BsLaBxWwyD8KBZDlI235EUNqfDCmicX82OR-Pqf_EMAsPQfKmsmgUSGGdvYA64SQsWgRcMIXo1PVOueDgk3AH3OfAuR8Z3DevQWPk4tbrlXCHJh8Wur4EZ8vhaLQPHETT1hgfWK09_w0AAP__HSUVsg">