9.38.3.7 Instruction Marker
The thread local storage instruction markers are used by the linker to
perform code optimization.
:tls_load
- The :tls_load marker is used to flag the load instruction in the initial
exec TLS model that retrieves the offset from the thread pointer to a
thread local storage variable from the GOT.
:tls_gdcall
- The :tls_gdcall marker is used to flag the branch-and-save instruction to
the __tls_get_offset function in the global dynamic TLS model.
:tls_ldcall
- The :tls_ldcall marker is used to flag the branch-and-save instruction to
the __tls_get_offset function in the local dynamic TLS model.
For more information about the thread local storage instruction marker
and the linker optimizations see the ELF extension documentation
‘ELF Handling For Thread-Local Storage’.