[libc-commits] [libc] [libc] Add localtime_r to baremetal entrypoints (PR #166677)

Prabhu Rajasekaran via libc-commits libc-commits at lists.llvm.org
Thu Nov 6 11:11:51 PST 2025


Prabhuk wrote:

While building the Fuchsia toolchain locally, baremetal runtimes builds are failing. I am debugging them currently. Marking the PR as draft until I resolve the failures.

```
[hi on] prabhukr at prabhukr:~/llvm-builds/build$ ninja runtimes-armv8.1m.main-none-eabi
[13/20] Performing build step for 'builtins-armv8.1m.main-none-eabi'
ninja: no work to do.
[14/20] No install step for 'builtins-armv8.1m.main-none-eabi'
[16/20] Performing configure step for 'runtimes-armv8.1m.main-none-eabi'
Not searching for unused variables given on the command line.
loading initial cache file /usr/local/google/home/prabhukr/llvm-builds/build/projects/runtimes-armv8.1m.main-none-eabi/tmp/runtimes-armv8.1m.main-none-eabi-cache-RelWithDebInfo.cmake
-- Performing bootstrapping runtimes build.
CMake Warning (dev) at /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/llvm/LLVMExports.cmake:894 (add_library):
  ADD_LIBRARY called with SHARED option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/llvm/LLVMConfig.cmake:293 (include)
  CMakeLists.txt:63 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/llvm/LLVMExports.cmake:1094 (add_library):
  ADD_LIBRARY called with SHARED option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/llvm/LLVMConfig.cmake:293 (include)
  CMakeLists.txt:63 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/llvm/LLVMExports.cmake:1113 (add_library):
  ADD_LIBRARY called with MODULE option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/llvm/LLVMConfig.cmake:293 (include)
  CMakeLists.txt:63 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/clang/ClangTargets.cmake:386 (add_library):
  ADD_LIBRARY called with SHARED option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/clang/ClangConfig.cmake:16 (include)
  CMakeLists.txt:64 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/clang/ClangTargets.cmake:750 (add_library):
  ADD_LIBRARY called with SHARED option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /usr/local/google/home/prabhukr/llvm-builds/build/lib/cmake/clang/ClangConfig.cmake:16 (include)
  CMakeLists.txt:64 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning at /usr/local/google/home/prabhukr/llvm/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake:141 (message):
  LLVM_ENABLE_ASSERTIONS implies LIBCXX_HARDENING_MODE "extensive" but is
  overriden from command line with value "none".
Call Stack (most recent call first):
  CMakeLists.txt:194 (include)


-- Building with -fPIC
-- LLVM host triple: x86_64-unknown-linux-gnu
-- LLVM default target triple: armv8.1m.main-none-eabi
-- Setting LIBC_NAMESPACE namespace to '__llvm_libc_22_0_0_git'
-- Set COMPILER_RESOURCE_DIR to /usr/local/google/home/prabhukr/llvm-builds/build/lib/clang/22 using --print-resource-dir
-- Building libc for arm on baremetal with
        LIBC_COMPILE_OPTIONS_DEFAULT: --target=armv8.1m.main-none-eabi
-- LIBC_CONF_ENABLE_STRONG_STACK_PROTECTOR: ON
-- LIBC_CONF_KEEP_FRAME_POINTER: ON
-- LIBC_CONF_ERRNO_MODE: LIBC_ERRNO_MODE_DEFAULT
-- LIBC_ADD_NULL_CHECKS: ON
-- LIBC_CONF_FREXP_INF_NAN_EXPONENT: 
-- LIBC_CONF_MATH_OPTIMIZATIONS: 0
-- LIBC_CONF_PRINTF_DISABLE_FIXED_POINT: OFF
-- LIBC_CONF_PRINTF_DISABLE_FLOAT: OFF
-- LIBC_CONF_PRINTF_DISABLE_INDEX_MODE: OFF
-- LIBC_CONF_PRINTF_DISABLE_STRERROR: OFF
-- LIBC_CONF_PRINTF_DISABLE_WRITE_INT: OFF
-- LIBC_CONF_PRINTF_FLOAT_TO_STR_NO_SPECIALIZE_LD: OFF
-- LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_DYADIC_FLOAT: OFF
-- LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_FLOAT320: OFF
-- LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_MEGA_LONG_DOUBLE_TABLE: OFF
-- LIBC_CONF_PRINTF_RUNTIME_DISPATCH: ON
-- LIBC_CONF_RAW_MUTEX_DEFAULT_SPIN_COUNT: 100
-- LIBC_CONF_RWLOCK_DEFAULT_SPIN_COUNT: 100
-- LIBC_CONF_TIMEOUT_ENSURE_MONOTONICITY: ON
-- LIBC_CONF_QSORT_IMPL: LIBC_QSORT_QUICK_SORT
-- LIBC_CONF_SCANF_DISABLE_FLOAT: OFF
-- LIBC_CONF_SCANF_DISABLE_INDEX_MODE: OFF
-- LIBC_CONF_SETJMP_AARCH64_RESTORE_PLATFORM_REGISTER: ON
-- LIBC_CONF_MEMSET_X86_USE_SOFTWARE_PREFETCHING: OFF
-- LIBC_CONF_STRING_UNSAFE_WIDE_READ: OFF
-- LIBC_CONF_THREAD_MODE: LIBC_THREAD_MODE_PLATFORM
-- LIBC_CONF_TIME_64BIT: OFF
-- Writing config doc to /usr/local/google/home/prabhukr/llvm/llvm-project/libc/docs/configure.rst
-- Overriding - LIBC_CONF_ERRNO_MODE: LIBC_ERRNO_MODE_EXTERNAL (Previous value: LIBC_ERRNO_MODE_DEFAULT)
-- Overriding - LIBC_ADD_NULL_CHECKS: OFF (Previous value: ON)
-- Overriding - LIBC_CONF_MATH_OPTIMIZATIONS: (LIBC_MATH_SKIP_ACCURATE_PASS | LIBC_MATH_SMALL_TABLES | LIBC_MATH_NO_ERRNO | LIBC_MATH_INTERMEDIATE_COMP_IN_FLOAT) (Previous value: 0)
-- Overriding - LIBC_CONF_PRINTF_DISABLE_FIXED_POINT: ON (Previous value: OFF)
-- Overriding - LIBC_CONF_PRINTF_DISABLE_FLOAT: ON (Previous value: OFF)
-- Overriding - LIBC_CONF_PRINTF_DISABLE_INDEX_MODE: ON (Previous value: OFF)
-- Overriding - LIBC_CONF_PRINTF_DISABLE_STRERROR: ON (Previous value: OFF)
-- Overriding - LIBC_CONF_PRINTF_DISABLE_WRITE_INT: ON (Previous value: OFF)
-- Overriding - LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_MEGA_LONG_DOUBLE_TABLE: OFF (Previous value: OFF)
-- Overriding - LIBC_CONF_QSORT_IMPL: LIBC_QSORT_HEAP_SORT (Previous value: LIBC_QSORT_QUICK_SORT)
-- Overriding - LIBC_CONF_THREAD_MODE: LIBC_THREAD_MODE_SINGLE (Previous value: LIBC_THREAD_MODE_PLATFORM)
-- Set CPU features: 
-- Compiler features available: builtin_ceil_floor_rint_trunc;builtin_fmax_fmin;builtin_fmaxf16_fminf16;builtin_round;builtin_roundeven;ext_vector_type;fixed_point
-- Integration test for hdrgen added.
-- Using libc++ testing configuration: /usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/test/configs/llvm-libc++-static.cfg.in
CMake Warning (dev) at /usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/CMakeLists.txt:176 (add_library):
  ADD_LIBRARY called with SHARED option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done (2.2s)
-- Generating done (0.5s)
-- Build files have been written to: /usr/local/google/home/prabhukr/llvm-builds/build/runtimes/runtimes-armv8.1m.main-none-eabi-bins
[17/20] Performing build step for 'runtimes-armv8.1m.main-none-eabi'
[513/554] Building CXX object libcxx/src/CMakeFiles/cxx_static.dir/exception.cpp.obj
In file included from /usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/exception.cpp:36:
/usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/support/runtime/exception_fallback.ipp:54:2: warning: uncaught_exception not yet implemented [-W#warnings]
   54 | #warning uncaught_exception not yet implemented
      |  ^
In file included from /usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/exception.cpp:37:
/usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:15:2: warning: exception_ptr not yet implemented [-W#warnings]
   15 | #warning exception_ptr not yet implemented
      |  ^
/usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:20:2: warning: exception_ptr not yet implemented [-W#warnings]
   20 | #warning exception_ptr not yet implemented
      |  ^
/usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:25:2: warning: exception_ptr not yet implemented [-W#warnings]
   25 | #warning exception_ptr not yet implemented
      |  ^
/usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:30:2: warning: exception_ptr not yet implemented [-W#warnings]
   30 | #warning exception_ptr not yet implemented
      |  ^
/usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:43:2: warning: exception_ptr not yet implemented [-W#warnings]
   43 | #warning exception_ptr not yet implemented
      |  ^
/usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:53:2: warning: exception_ptr not yet implemented [-W#warnings]
   53 | #warning exception_ptr not yet implemented
      |  ^
/usr/local/google/home/prabhukr/llvm/llvm-project/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp:58:2: warning: exception_ptr not yet implemented [-W#warnings]
   58 | #warning exception_ptr not yet implemented
      |  ^
8 warnings generated.

```

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


More information about the libc-commits mailing list