The thread local storage instruction markers are used by the linker to perform code optimization.
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.
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.
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’.