3.5. Target Dynamic Loader Requirements

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.