[Picolibc] Integrating Picolibc into a GCC toolchain

R. Diez rdiezmail-newlib at yahoo.de
Sun Jan 30 12:46:22 PST 2022


I forgot to copy the mailing list.

> [...] realize that you'll need a newer
> version of gcc that includes the '--enable-stdio=stdio_pure'
> configuration option (gcc 10 or newer, I think).

Can you please confirm that:

1) The setting is actually called --enable-cstdio=stdio_pure ('cstdio' instead of 'stdio').

2) It is only available from GCC version 11 onwards (and not version 10).

I found it in this file:

libstdc++-v3/acinclude.m4

AC_DEFUN([GLIBCXX_ENABLE_CSTDIO], [
   AC_MSG_CHECKING([for underlying I/O to use])
   GLIBCXX_ENABLE(cstdio,stdio,[[[=PACKAGE]]],
     [use target-specific I/O package], [permit stdio|stdio_posix|stdio_pure])

However, I cannot make it work.

I am passing it to GCC's top-level 'configure' script, but libstdc++-v3's 'configure' script is not run at that time, it runs later on, when you invoke 'make' at GCC's top level. Then I see this line in the 'make' output:

checking for underlying I/O to use... stdio

So I am guessing that GCC's top-level 'configure' is not passing that flag to libstdc++-v3's 'configure' script.

Do you know how to overcome this issue?

I would rather not try to build GCC's libstdc++-v3 separately. That would make my makefile brittle, in case something changes in the GCC build system (which apparently is a mess).

Thanks in advance,
   rdiez


More information about the Picolibc mailing list