- component: --> TEE-SDK
- vulnerability: --> False
- instability: --> False
- priority: --> 0-Low
ISSUE IMPORTED FROM REDMINE
Redmine Issue Number: 120
Redmine Project Name: tee-sdk
Redmine Tracker Name: Feature
Redmine Priority: Normal
Redmine Author: Jim Newsome
Redmine Start Date: 05/31/2011
Redmine % Done: 0
Redmine Created Date: 05/31/2011 04:06 pm
Redmine Updated Date: 05/31/2011 04:06 pm
Redmine Description:
By default, gcc dynamically allocates thread-local-storage, and accesses it through %gs. To support such code in PALs, we'd probably want the PAL to have its own thread, and make sure the corresponding thread-local-storage block gets mapped into the PAL and measured, and to make sure we switch to\from the PAL "thread" when invoking PALs.
From http://gcc.gnu.org/onlinedocs/gcc-3.3.1/gcc/Thread-Local.html :
??Thread-local storage (TLS) is a mechanism by which variables are allocated such that there is one instance of the variable per extant thread. The run-time model GCC uses to implement this originates in the IA-64 processor-specific ABI, but has since been migrated to other processors as well. It requires significant support from the linker (ld), dynamic linker (ld.so), and system libraries (libc.so and libpthread.so), so it is not available everywhere.??
http://www.akkadia.org/drepper/tls.pdf
http://people.redhat.com/drepper/tls.pdf