3.5. Target Dynamic Loader Requirements

The compiler supplied in Sourcery CodeBench 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://sourcery.mentor.com/public/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 CodeBench Lite 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 CodeBench 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=gnu. This option selects the previous TLS access method.