diff --git a/llvm/lib/Support/Unix/Threading.inc b/llvm/lib/Support/Unix/Threading.inc index 5c1bfc5620c64a..9c1f1166b9ec56 100644 --- a/llvm/lib/Support/Unix/Threading.inc +++ b/llvm/lib/Support/Unix/Threading.inc @@ -37,6 +37,10 @@ #include // For _lwp_self() #endif +#if defined(__OpenBSD__) +#include // For getthrid() +#endif + #if defined(__linux__) #include // For sched_getaffinity #include // For syscall codes @@ -105,6 +109,8 @@ uint64_t llvm::get_threadid() { return uint64_t(pthread_getthreadid_np()); #elif defined(__NetBSD__) return uint64_t(_lwp_self()); +#elif defined(__OpenBSD__) + return uint64_t(getthrid()); #elif defined(__ANDROID__) return uint64_t(gettid()); #elif defined(__linux__)