diff -uNr llvm-project/compiler-rt/CMakeLists.txt llvm-project.mod/compiler-rt/CMakeLists.txt --- llvm-project/compiler-rt/CMakeLists.txt 2022-05-03 21:10:32.000000000 +0800 +++ llvm-project.mod/compiler-rt/CMakeLists.txt 2022-05-08 23:47:42.498356922 +0800 @@ -186,6 +186,9 @@ elseif (FUCHSIA) set(${var}_LIBNAME "libc++") set(${var}_INTREE 1) + elseif (ANDROID) + set(${var}_LIBNAME "libc++_shared") + set(${var}_SYSTEM 1) else() set(${var}_LIBNAME "libstdc++") set(${var}_SYSTEM 1) @@ -200,7 +203,7 @@ # which pulls in the ABI transitively. set(SANITIZER_CXX_ABI "default" CACHE STRING "Specify C++ ABI library to use.") -set(CXXABIS none default libstdc++ libc++ libcxxabi) +set(CXXABIS none default libc++_shared libstdc++ libc++ libcxxabi) set_property(CACHE SANITIZER_CXX_ABI PROPERTY STRINGS ;${CXXABIS}) handle_default_cxx_lib(SANITIZER_CXX_ABI) @@ -528,6 +531,8 @@ list(APPEND SANITIZER_CXX_ABI_LIBRARIES "c++abi") elseif (SANITIZER_CXX_ABI_LIBNAME STREQUAL "libstdc++") append_list_if(COMPILER_RT_HAS_LIBSTDCXX stdc++ SANITIZER_CXX_ABI_LIBRARIES) +elseif (SANITIZER_CXX_ABI_LIBNAME STREQUAL "libc++_shared") + list(APPEND SANITIZER_CXX_ABI_LIBRARIES "c++_shared") endif() if (SANITIZER_TEST_CXX_LIBNAME STREQUAL "libc++")