Skip Navigation Links | |
Exit Print View | |
Linker and Libraries Guide Oracle Solaris 11 Information Library |
Part I Using the Link-Editor and Runtime Linker
1. Introduction to the Oracle Solaris Link Editors
6. Establishing Dependencies with Dynamic String Tokens
7. Link-Editor Quick Reference
Part IV ELF Application Binary Interface
13. Program Loading and Dynamic Linking
Runtime Allocation of Thread-Local Storage
Deferred Allocation of Thread-Local Storage Blocks
Thread-Local Storage Access Models
SPARC: Thread-Local Variable Access
32-bit SPARC: Initial Executable (IE)
64-bit SPARC: Initial Executable (IE)
SPARC: Thread-Local Storage Relocation Types
32-bit x86: Thread-Local Variable Access
32-bit x86: General Dynamic (GD)
32-bit x86: Initial Executable (IE)
32-bit x86: Local Executable (LE)
32-bit x86: Thread-Local Storage Relocation Types
x64: Thread-Local Variable Access
x64: Thread-Local Storage Relocation Types
A. Linker and Libraries Updates and New Features
The compilation environment supports the declaration of thread-local data. This data is sometimes referred to as thread-specific, or thread-private data, but more typically by the acronym TLS. By declaring variables to be thread-local, the compiler automatically arranges for these variables to be allocated on a per-thread basis.
The built-in support for this feature serves three purposes.
A foundation is provided upon which the POSIX interfaces for allocating thread specific data are built.
A convenient, and efficient mechanism for direct use of thread local variables by applications and libraries is provided.
Compilers can allocate TLS as necessary when performing loop-parallelizing optimizations.