The compiler supplied in Sourcery G++ Lite emits TLS Descriptor
sequences to access thread-local storage in position-independent
code. This is a new TLS access model, with a specification at
http://www.codesourcery.com/publications/RFC-TLSDESC-ARM.txt.
It improves the performance of shared objects and
position-independent executables. This model requires dynamic
loader support. The loader included with Sourcery G++ Lite
(lib/ld-linux.so.3
) includes the
necessary support. Support for the older ARM EABI-specified
access sequence is still provided and thus object files and
executables built by EABI-compliant toolchains, including
earlier versions of Sourcery G++ Lite, will continue to function. If
you need to use an older dynamic loader that lacks TLS
Descriptor support, you must compile all your code with
-mtls-dialect=arm
. This option selects the
previous TLS access method.