maybe providing a (pseudo-)module with an advanced `printf()` version would be a
solution? That way people actually needing full support can have it, without the
ROM / RAM cost being paid by everyone. However, I'm not sure if one can pick
the non-nano stdio from newlib while everything else remains "nano" flavor.
(E.g. the non-nano malloc implementation can cause issues when working with
non-contiguous memory regions, so just switching to the non-nano newlib via a
pseudo module might be more involved.)
One could of course provide a fully distinct `printf()` implementation (e.g.
based on the avrlibc) as module in source and use some linker magic to link
calls to `printf()` to the custom implementation. I think it would be possible
to provide `printf()` with both %llu / %lld support and lower RAM / ROM
consumption compared to newlib's implementation. I bet nobody would complain
about extra printf() features, if they end up coming with a lower RAM/ROM
consumption; so this might end up becoming the default option for newlib based
While I like the idea of this, I sadly don't have the time to PR this; at
least not now. But maybe someone else wants to do so?