RTEMS 6.3
Loading...
Searching...
No Matches
Thread-Local Storage (TLS)

This group contains the implementation to support thread-local storage (TLS). More...

Files

file  cpukit/include/rtems/score/tls.h
 This header file provides the interfaces of the Thread-Local Storage (TLS).
file  cpukit/score/src/tlsallocsize.c
 This source file contains the implementation of _TLS_Get_allocation_size().

Data Structures

struct  TLS_Configuration
 Represents the TLS configuration. More...
struct  TLS_Dynamic_thread_vector
struct  TLS_Thread_control_block
struct  TLS_Index

Typedefs

typedef struct TLS_Thread_control_block TLS_Thread_control_block

Functions

uintptr_t _TLS_Get_allocation_size (void)
 Gets the allocation size of the thread-local storage area in bytes.

Variables

const volatile TLS_Configuration _TLS_Configuration
 Provides the TLS configuration.

Detailed Description

This group contains the implementation to support thread-local storage (TLS).

Variants I and II are according to Ulrich Drepper, "ELF Handling For Thread-Local Storage".

Function Documentation

◆ _TLS_Get_allocation_size()

uintptr_t _TLS_Get_allocation_size ( void )

Gets the allocation size of the thread-local storage area in bytes.

Returns
Returns the allocation size of the thread-local storage area in bytes.

Variable Documentation

◆ _TLS_Configuration

const volatile TLS_Configuration _TLS_Configuration
extern

Provides the TLS configuration.

Directly using symbols with an arbitrary absolute address such as _TLS_Alignment may not work with all code models (for example the AArch64 tiny and small code models). Store the addresses in a read-only object. Using the volatile qualifier ensures that the compiler actually loads the address from the object.