[PATCH] D21478: [build] Make sure to link main executable with libpthread
Artem Belevich via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 17 13:12:04 PDT 2016
tra created this revision.
tra added reviewers: rafael, MatzeB, chandlerc.
tra added a subscriber: llvm-commits.
Otherwise it gets linked in by one of the dependencies of shared
libraries which may be too late and we end up with weird crashes in
std::call_once().
http://reviews.llvm.org/D21478
Files:
cmake/config-ix.cmake
cmake/modules/AddLLVM.cmake
Index: cmake/modules/AddLLVM.cmake
===================================================================
--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -670,6 +670,9 @@
if(NOT ARG_IGNORE_EXTERNALIZE_DEBUGINFO)
llvm_externalize_debuginfo(${name})
endif()
+ if (PTHREAD_LIB)
+ target_link_libraries(${name} ${PTHREAD_LIB})
+ endif()
endmacro(add_llvm_executable name)
function(export_executable_symbols target)
@@ -953,7 +956,7 @@
add_llvm_executable(${test_name} IGNORE_EXTERNALIZE_DEBUGINFO ${ARGN})
set(outdir ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
set_output_directory(${test_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir})
- target_link_libraries(${test_name} gtest_main gtest)
+ target_link_libraries(${test_name} gtest_main gtest ${PTHREAD_LIB})
add_dependencies(${test_suite} ${test_name})
get_target_property(test_suite_folder ${test_suite} FOLDER)
Index: cmake/config-ix.cmake
===================================================================
--- cmake/config-ix.cmake
+++ cmake/config-ix.cmake
@@ -110,7 +110,8 @@
endif()
if(HAVE_LIBPTHREAD)
- set(PTHREAD_LIB pthread)
+ find_package(Threads REQUIRED)
+ set(PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT})
endif()
# Don't look for these libraries on Windows. Also don't look for them if we're
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21478.61123.patch
Type: text/x-patch
Size: 1325 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160617/2eb090fc/attachment.bin>
More information about the llvm-commits
mailing list