Re: Increased RAM usage after upgrade to newlib 4.3.0

Sebastian Huber <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Hello Patrick,

On 17.02.23 20:10, Patrick Bader wrote:
> 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.

this regression is probably a side-effect of the support for splitting 
up the struct _reent into individual thread-local storage objects. See 
the --enable-newlib-reent-thread-local configuration option.

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: [email protected]
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.