[libc++][CMake] Make sure the benchmarks link against libc++abi

The refactoring in r357811 made it so that we didn't add the ABI library
to the list of LIBCXX_LIBRARIES. As a result, benchmarks didn't link to
the ABI library and were missing symbols. This broke the build bots.

As a drive-by fix, we also provide the SHARED ABI library to the linker
script instead of the STATIC ABI library.

This couldn't be discovered on Apple platforms because libc++.dylib
re-exports libc++abi.dylib symbols there.

llvm-svn: 357818
This commit is contained in:
Louis Dionne 2019-04-05 21:05:32 +00:00
parent 7e7f79ccb1
commit cd9a528886
1 changed files with 2 additions and 1 deletions

View File

@ -180,7 +180,8 @@ if (LIBCXX_ENABLE_SHARED)
endif()
else()
target_link_libraries(cxx_shared PRIVATE "${LIBCXX_CXX_SHARED_ABI_LIBRARY}")
list(APPEND LIBCXX_INTERFACE_LIBRARIES "${LIBCXX_CXX_STATIC_ABI_LIBRARY}")
list(APPEND LIBCXX_INTERFACE_LIBRARIES "${LIBCXX_CXX_SHARED_ABI_LIBRARY}") # For the linker script
list(APPEND LIBCXX_LIBRARIES "${LIBCXX_CXX_SHARED_ABI_LIBRARY}") # For the benchmarks
endif()
# Maybe re-export symbols from libc++abi