SPRAB89A September 2011 – March 2014
In dynamic linking systems, the dynamic loader creates the main thread and the thread library creates additional threads. As part of the main thread creation, the dynamic loader allocates and initializes the main thread’s TLS. Also, the dynamic loader can easily find the TLS initialization image using the segment type.
In the case of a static executable, there is no dynamic loader to perform these roles. The static linking model should support the following requirements:
Section 7.6.2.3.1 through Section 7.6.2.5 contain information that is toolchain-specific. Mentions of the .TI.tls_init and .TI.tls sections, the __TI_tls_init_table copy table, the __TI_TLS_MAIN_THREAD_BASE and __TI_TLS_BLOCK_SIZE symbols, and the __TI_tls_init() function are included as examples of how a toolchain can implement the TLS model.