commit | 919d1831a6f337ed62661e0133cd6807284038b4 | [log] [tgz] |
---|---|---|
author | Wyatt Hepler <hepler@google.com> | Tue Sep 27 20:00:39 2022 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Sep 27 20:00:39 2022 +0000 |
tree | aa77ddec85b134e783c36c010c63dab0ff514f9c | |
parent | 71e8310be2e24d62dc8de93d0cd7ab85f02e33ad [diff] |
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/.