ESP-IDF v6.0 (latest: v6.0.1, released April 2026) is now available and introduces a significant change for this project: picolibc replaces newlib as the default C library for GCC toolchains.
The switch is controlled by a new Kconfig in components/esp_libc:
choice LIBC
default LIBC_NEWLIB if IDF_TOOLCHAIN_CLANG
default LIBC_PICOLIBC
This directly affects several open workaround issues that exist because of newlib gaps:
Each of those workarounds should be re-evaluated against picolibc — some may be removable entirely.
Tasks
ESP-IDF v6.0 (latest: v6.0.1, released April 2026) is now available and introduces a significant change for this project: picolibc replaces newlib as the default C library for GCC toolchains.
The switch is controlled by a new Kconfig in
components/esp_libc:This directly affects several open workaround issues that exist because of newlib gaps:
nanosleep()andpthread_atfork()stubssysconf(_SC_PAGESIZE)linker wrap<sys/mman.h>shimstruct tmextension shimEach of those workarounds should be re-evaluated against picolibc — some may be removable entirely.
Tasks
idf_component.ymlminimum version requirement if neededespressif/idf:release-v6.0