diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-10-06 09:19:58 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-10-06 09:20:40 +0200 |
commit | 2afb8219db443ad863a6a12f80dc7a3bcccd5283 (patch) | |
tree | 526776e0aedda61d3b402df6403ad3b667916dac /c-user/config/general.rst | |
parent | c-user: Add application config info directives (diff) | |
download | rtems-docs-2afb8219db443ad863a6a12f80dc7a3bcccd5283.tar.bz2 |
c-user: CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
Move CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE to the general configuration
options.
Diffstat (limited to '')
-rw-r--r-- | c-user/config/general.rst | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/c-user/config/general.rst b/c-user/config/general.rst index 674eeb7..db81b8c 100644 --- a/c-user/config/general.rst +++ b/c-user/config/general.rst @@ -502,6 +502,69 @@ The following constraints apply to this configuration option: * The value of the configuration option shall be less than or equal to :c:macro:`CPU_MAXIMUM_PROCESSORS`. +.. Generated from spec:/acfg/if/max-thread-local-storage-size + +.. raw:: latex + + \clearpage + +.. index:: CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE + +.. _CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE: + +CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE +------------------------------------------- + +.. rubric:: CONSTANT: + +``CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE`` + +.. rubric:: OPTION TYPE: + +This configuration option is an integer define. + +.. rubric:: DEFAULT VALUE: + +The default value is 0. + +.. rubric:: DESCRIPTION: + +If the value of this configuration option is greater than zero, then it +defines the maximum thread-local storage size, otherwise the thread-local +storage size is defined by the linker depending on the thread-local storage +objects used by the application in the statically-linked executable. + +.. rubric:: NOTES: + +This configuration option can be used to reserve space for the dynamic linking +of modules with thread-local storage objects. + +If the thread-local storage size defined by the thread-local storage +objects used by the application in the statically-linked executable is greater +than a non-zero value of this configuration option, then a fatal error will +occur during system initialization. + +Use :c:func:`RTEMS_ALIGN_UP` and +:c:macro:`RTEMS_TASK_STORAGE_ALIGNMENT` to adjust the size to meet the +minimum alignment requirement of a thread-local storage area. + +The actual thread-local storage size is determined when the application +executable is linked. The ``rtems-exeinfo`` command line tool included in +the RTEMS Tools can be used to obtain the thread-local storage size and +alignment of an application executable. + +.. rubric:: CONSTRAINTS: + +The following constraints apply to this configuration option: + +* The value of the configuration option shall be greater than or equal to zero. + +* The value of the configuration option shall be less than or equal to + `SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_. + +* The value of the configuration option shall be an integral multiple of + :c:macro:`RTEMS_TASK_STORAGE_ALIGNMENT`. + .. Generated from spec:/acfg/if/max-thread-name-size .. raw:: latex |