There are several compatibility issues when trying to build with picolibc version 1.8.11:
- Using GCC adds --specs=nosys.specs, a newlib-specific file
- pico-sdk assumes the C library will define __printflike, picolibc defines __picolibc_format instead.
- GCC's -Wredundant-decls complains about the symbol aliasing used to define stdout and stderr.
- Picolibc will add another linker script unless the application uses the -T format instead of -Wl,--script.
- Picolibc uses different constructor symbols (
__bothinit_array_start and __bothinit_array_end).
- Picolibc needs thread-local variables to be per-core instead of global.
- When using picolibc's printf, we want to inherit the project printf feature selection
There are several compatibility issues when trying to build with picolibc version 1.8.11:
__bothinit_array_startand__bothinit_array_end).