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?
Yes.
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?
Yes.
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
Germany
email: sebastian.hu...@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:
https://embedded-brains.de/datenschutzerklaerung/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel