[RSB 1/3] 6/7: Update Newlib

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Jul 20 08:20:22 UTC 2022

On 20/07/2022 10:11, Chris Johns wrote:
>>> Are these TLS allocations in newlib based on a single use of a newlib call that
>>> brings in the reent stuff? How does that work?
>> No, each TLS object is defined in the translation unit which uses the object.
>> The goal is to get only those objects linked in which are needed. Currently, the
>> Newlib thread delete hook pulls in some objects, however, this dependency will
>> go away once the TLS destructors are implemented.
> If I have task A and it opens a file and writes something to a file system will
> it pull in the TLS support for files?


> Given the TLS support is static does this mean all threads in the A app allocate
> the newlib file TLS variables even if they never use newlib?


> My understanding of the existing reent support is tasks that do not use newlib
> it never allocate a reent struct?

No, the struct _reent is allocated for all tasks if you don't use 
CONFIGURE_DISABLE_NEWLIB_REENTRANCY (which is not recommended). How 
would you know if a task doesn't use Newlib?

embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
email: sebastian.huber at embedded-brains.de
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:

More information about the devel mailing list