On Wed, Aug 24, 2022 at 11:12 AM Keith Packard via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > Picolibc is a C library for embedded systems based on code from newlib > and avr libc. To connect some system-dependent picolibc functions > (like stdio) to an underlying platform, the platform may provide an OS > library. > > This OS library must follow the C library in the link command line. In > current picolibc, that is done by providing an alternate .specs file > which can rewrite the *lib spec to insert the OS library in the right > spot.
Why do you need to change the specs to support picolibc? Why not have the library supply the specs file instead, like what is done for newlib and libgloss? > > This patch series adds the ability to specify the OS library on the > gcc command line when GCC is configured to us picolibc as the default > C library, and then hooks that up for arm, nds32, riscv and sh targets. What OS libraries are not included in libc? I trying to figure out why this needs to be special cased here. Thanks, Andrew Pinski > > Keith Packard (3): > Allow default libc to be specified to configure > Add newlib and picolibc as default C library choices > Add '--oslib=' option when default C library is picolibc > > gcc/config.gcc | 56 ++++++++++++++++++++++++++++++++------- > gcc/config/arm/elf.h | 5 ++++ > gcc/config/nds32/elf.h | 4 +++ > gcc/config/picolibc.opt | 26 ++++++++++++++++++ > gcc/config/riscv/elf.h | 4 +++ > gcc/config/sh/embed-elf.h | 5 ++++ > gcc/configure.ac | 4 +++ > 7 files changed, 95 insertions(+), 9 deletions(-) > create mode 100644 gcc/config/picolibc.opt > > -- > 2.36.1 >