pw_toolchain: Implement Newlib OS interface functions Starting in arm-none-eabi-gcc 11.3, the compiler outputs warnings if Newlib OS interface functions are called but not implemented. A default that returns an error is used in that case. The Newlib OS interface is documented at https://sourceware.org/newlib/libc.html#Stubs. Most of the Newlib OS interface functions should never be called in Pigweed. Implement these functions but have them invoke an undefined function to force a linker error if they are used. In addition to implementing the OS interface, wrap a few unnecessary Newlib functions that would otherwise cause several OS interface functions to be linked in. Abort if these functions are called. Change-Id: Iee0a73598b6daed175ca8328053386460b85b74a Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/112311 Commit-Queue: Wyatt Hepler <hepler@google.com> Reviewed-by: Armando Montanez <amontanez@google.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.