[llvm] [bazel] Port #145358: LIBC_THREAD_MODE (PR #151539)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 31 08:24:41 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
Author: Jordan Rupprecht (rupprecht)
<details>
<summary>Changes</summary>
I'm not sure how libc should be configuring this in bazel, but for now it seems like `LIBC_THREAD_MODE_PLATFORM` restores the default behavior.
Defining this param is required:
```
ERROR: /var/lib/buildkite-agent/.cache/bazel/_bazel_buildkite-agent/c9d34ded3a9d94cc250207948aceadfc/external/llvm-project/libc/BUILD.bazel:5788:14: Compiling libc/src/stdio/generic/vprintf.cpp failed: (Exit 1): clang failed: error executing CppCompile command (from target @@<!-- -->llvm-project//libc:vprintf) /usr/lib/llvm-18/bin/clang -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer ... (remaining 31 arguments skipped)
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from external/llvm-project/libc/src/stdio/generic/vprintf.cpp:11:
In file included from external/llvm-project/libc/src/__support/File/file.h:19:
external/llvm-project/libc/src/__support/threads/mutex.h:25:2: error: LIBC_THREAD_MODE is undefined
25 | #error LIBC_THREAD_MODE is undefined
| ^
```
As an alternative to this PR, we could make the libc header default to `LIBC_THREAD_MODE_PLATFORM` if not provided, instead of an `#error`
---
Full diff: https://github.com/llvm/llvm-project/pull/151539.diff
1 Files Affected:
- (modified) utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl (+3)
``````````diff
diff --git a/utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl b/utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
index 96d7fa86e9ddf..b49e7c3fad954 100644
--- a/utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
+++ b/utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
@@ -46,4 +46,7 @@ LIBC_CONFIGURE_OPTIONS = [
# Documentation in libc/src/__support/libc_assert.h
# "LIBC_COPT_USE_C_ASSERT",
+
+ # Documentation in libc/docs/configure.rst
+ "LIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM",
]
``````````
</details>
https://github.com/llvm/llvm-project/pull/151539
More information about the llvm-commits
mailing list