[libc-commits] [libc] [libc] add posix_mutex_trylock support (PR #191531)

Schrodinger ZHU Yifan via libc-commits libc-commits at lists.llvm.org
Mon Apr 13 08:15:14 PDT 2026


SchrodingerZhu wrote:

```
[188/212] Building CXX object libc/src/stdio/generic/CMakeFiles/libc.src.stdio.generic.vfprintf.dir/vfprintf.cpp.o
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/printf_main.h:17,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/vfprintf_internal.h:18,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/generic/vfprintf.cpp:17:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/parser.h: In instantiation of ‘__llvm_libc_20_0_0_git::cpp::optional<T> __llvm_libc_20_0_0_git::printf_core::Parser<ArgProvider>::get_arg_value(size_t) [with T = long double; ArgProvider = __llvm_libc_20_0_0_git::internal::ArgList; size_t = long unsigned int]’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/parser.h:261:11:   required from ‘__llvm_libc_20_0_0_git::printf_core::FormatSection __llvm_libc_20_0_0_git::printf_core::Parser<ArgProvider>::get_next_section() [with ArgProvider = __llvm_libc_20_0_0_git::internal::ArgList]’
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/printf_main.h:31:59:   required from ‘__llvm_libc_20_0_0_git::ErrorOr<long unsigned int> __llvm_libc_20_0_0_git::printf_core::printf_main_modular(Writer<write_mode>*, const char*, __llvm_libc_20_0_0_git::internal::ArgList&) [with WriteMode write_mode = __llvm_libc_20_0_0_git::printf_core::WriteMode::RUNTIME_DISPATCH; __llvm_libc_20_0_0_git::ErrorOr<long unsigned int> = __llvm_libc_20_0_0_git::cpp::expected<long unsigned int, int>]’
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/printf_main.h:52:29:   required from ‘__llvm_libc_20_0_0_git::ErrorOr<long unsigned int> __llvm_libc_20_0_0_git::printf_core::printf_main(Writer<write_mode>*, const char*, __llvm_libc_20_0_0_git::internal::ArgList&) [with WriteMode write_mode = __llvm_libc_20_0_0_git::printf_core::WriteMode::RUNTIME_DISPATCH; __llvm_libc_20_0_0_git::ErrorOr<long unsigned int> = __llvm_libc_20_0_0_git::cpp::expected<long unsigned int, int>]’
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/vfprintf_internal.h:93:28:   required from here
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/parser.h:451:51: note: the ABI of passing union with ‘long double’ has changed in GCC 4.4
  451 |   template <class T> LIBC_INLINE cpp::optional<T> get_arg_value(size_t index) {
      |                                                   ^~~~~~~~~~~~~
[189/212] Building CXX object libc/src/stdio/generic/CMakeFiles/libc.src.stdio.generic.fprintf.dir/fprintf.cpp.o
In file included from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/printf_main.h:17,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/vfprintf_internal.h:18,
                 from /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/generic/fprintf.cpp:17:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/parser.h: In instantiation of ‘__llvm_libc_20_0_0_git::cpp::optional<T> __llvm_libc_20_0_0_git::printf_core::Parser<ArgProvider>::get_arg_value(size_t) [with T = long double; ArgProvider = __llvm_libc_20_0_0_git::internal::ArgList; size_t = long unsigned int]’:
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/parser.h:261:11:   required from ‘__llvm_libc_20_0_0_git::printf_core::FormatSection __llvm_libc_20_0_0_git::printf_core::Parser<ArgProvider>::get_next_section() [with ArgProvider = __llvm_libc_20_0_0_git::internal::ArgList]’
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/printf_main.h:31:59:   required from ‘__llvm_libc_20_0_0_git::ErrorOr<long unsigned int> __llvm_libc_20_0_0_git::printf_core::printf_main_modular(Writer<write_mode>*, const char*, __llvm_libc_20_0_0_git::internal::ArgList&) [with WriteMode write_mode = __llvm_libc_20_0_0_git::printf_core::WriteMode::RUNTIME_DISPATCH; __llvm_libc_20_0_0_git::ErrorOr<long unsigned int> = __llvm_libc_20_0_0_git::cpp::expected<long unsigned int, int>]’
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/printf_main.h:52:29:   required from ‘__llvm_libc_20_0_0_git::ErrorOr<long unsigned int> __llvm_libc_20_0_0_git::printf_core::printf_main(Writer<write_mode>*, const char*, __llvm_libc_20_0_0_git::internal::ArgList&) [with WriteMode write_mode = __llvm_libc_20_0_0_git::printf_core::WriteMode::RUNTIME_DISPATCH; __llvm_libc_20_0_0_git::ErrorOr<long unsigned int> = __llvm_libc_20_0_0_git::cpp::expected<long unsigned int, int>]’
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/vfprintf_internal.h:93:28:   required from here
/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-project/libc/src/stdio/printf_core/parser.h:451:51: note: the ABI of passing union with ‘long double’ has changed in GCC 4.4
  451 |   template <class T> LIBC_INLINE cpp::optional<T> get_arg_value(size_t index) {
      |                                                   ^~~~~~~~~~~~~
[190/212] Building CXX object compiler-rt/lib/scudo/standalone/CMakeFiles/RTScudoStandaloneCWrappers.x86_64.dir/wrappers_c.cpp.o
ninja: build stopped: subcommand failed.
['ninja', 'libc'] exited with return code 1.
The build step threw an exception...
Traceback (most recent call last):
  File "/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 181, in step
    yield
  File "/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 143, in main
    run_command(['ninja', 'libc'])
  File "/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/build/../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py", line 196, in run_command
    util.report_run_cmd(cmd, cwd=directory)
  File "/home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-gcc-fullbuild-dbg/llvm-zorg/zorg/buildbot/builders/annotated/util.py", line 49, in report_run_cmd
    subprocess.check_call(cmd, shell=shell, *args, **kwargs)
  File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', 'libc']' returned non-zero exit status 1.
```
This error does not seem to be related to my change. cc @michaelrj-google 

https://github.com/llvm/llvm-project/pull/191531


More information about the libc-commits mailing list