[PATCH] CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Sep 10 14:33:26 UTC 2020


Document this application configuration option.

Update #4074.
---
 c-user/config/classic-api.rst | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/c-user/config/classic-api.rst b/c-user/config/classic-api.rst
index f0fbe6f..d7002ad 100644
--- a/c-user/config/classic-api.rst
+++ b/c-user/config/classic-api.rst
@@ -366,6 +366,41 @@ NOTES:
     the addition of a new configuration parameter to specify the number of
     tasks which enable floating point support.
 
+.. index:: CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
+
+.. _CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE:
+
+CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
+-------------------------------------------
+
+CONSTANT:
+    ``CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE``
+
+OPTION TYPE:
+    This configuration option is an integer define.
+
+DEFAULT VALUE:
+    The default value is 0.
+
+VALUE CONSTRAINTS:
+    The value of this configuration option shall be greater than or equal to 0
+    and less than or equal to `SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_.
+
+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.
+
+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.
+
 .. index:: CONFIGURE_MAXIMUM_TIMERS
 
 .. _CONFIGURE_MAXIMUM_TIMERS:
-- 
2.26.2



More information about the devel mailing list