diff --git a/lldb/unittests/Process/elf-core/CMakeLists.txt b/lldb/unittests/Process/elf-core/CMakeLists.txt index b852a3ffb863c..68ab6e0683c18 100644 --- a/lldb/unittests/Process/elf-core/CMakeLists.txt +++ b/lldb/unittests/Process/elf-core/CMakeLists.txt @@ -1,3 +1,6 @@ +include(CheckSymbolExists) +include(CMakePushCheckState) + add_lldb_unittest(ProcessElfCoreTests ThreadElfCoreTest.cpp @@ -13,3 +16,11 @@ add_lldb_unittest(ProcessElfCoreTests LINK_COMPONENTS Support ) + +cmake_push_check_state() +set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) +check_symbol_exists(gettid "unistd.h" HAVE_GETTID) +if(HAVE_GETTID) + target_compile_definitions(ProcessElfCoreTests PRIVATE HAVE_GETTID) +endif() +cmake_pop_check_state() diff --git a/lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp b/lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp index ce146f62b0d82..c9879f5d94d53 100644 --- a/lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp +++ b/lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp @@ -23,6 +23,11 @@ #include #include +#ifndef HAVE_GETTID +#include +pid_t gettid() { return ((pid_t)syscall(SYS_gettid)); } +#endif + using namespace lldb_private; namespace {