Increased RAM usage after upgrade to newlib 4.3.0
Patrick Bader <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
Dear newlib group members, I have just updated my firmware from newlib 4.2.0 to newlib 4.3.0 from the Arch Linux packages and found out that static memory consumption rose by about 300 bytes due to the standard input and output streams. However, I am not using these streams, but am using dynamic memory, which is using the _reent struct internally. As I found out, this struct is always populated with the global __sf file descriptors in the 4.3.0 version of newlib, which are about 300 bytes in total. The library is built with --enable-newlib-reent-small with the nano.spec and in the 4.2.0 version, _reent is initialized with some fake file descriptors: "__sf_fake_stdin,..." which are way smaller. Those fake versions are missing in newlib 4.3.0 and the __sf descriptors are used always. Is this intended behaviour or a regression? If it is intended, is there a way or some flag to get rid of the extra 300 bytes? I also do not need all those functions to be reentrant, but found no compilation parameter to turn this off. Thank you in advance for your help. Best, Patrick Bader