From: Zentrik Date: Tue, 24 Sep 2024 20:33:57 +0000 (+0100) Subject: Fix libFuzzer not building with pthreads on Windows (#109525) X-Git-Tag: upstream/19.1.4~62 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bfa99ebbc3092324e80fa1cab5045bdd2f16d48d;p=platform%2Fupstream%2Fllvm.git Fix libFuzzer not building with pthreads on Windows (#109525) Fixes https://github.com/llvm/llvm-project/issues/106871 (cherry picked from commit b4130bee6bfd34d8045f02fc9f951bcb5db9d85c) --- diff --git a/compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp b/compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp index db80eb383885..73eea07cf869 100644 --- a/compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp +++ b/compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp @@ -239,6 +239,10 @@ size_t PageSize() { } void SetThreadName(std::thread &thread, const std::string &name) { +#if defined(_LIBCPP_HAS_THREAD_API_PTHREAD) || \ + defined(_GLIBCXX_GCC_GTHR_POSIX_H) + (void)pthread_setname_np(thread.native_handle(), name.c_str()); +#else typedef HRESULT(WINAPI * proc)(HANDLE, PCWSTR); HMODULE kbase = GetModuleHandleA("KernelBase.dll"); proc ThreadNameProc = @@ -253,6 +257,7 @@ void SetThreadName(std::thread &thread, const std::string &name) { } } } +#endif } } // namespace fuzzer