blob: 02892926eec7ea7dbe9391d4dea3f8992bea0d68 (
plain) (
tree)
|
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: integer
constraints:
max: ${/c/if/size_max:/name}
min: 0
texts:
- It shall be an integral multiple of ${/rtems/task/if/storage-alignment:/name}.
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
default-value: 0
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.
enabled-by: true
index-entries: []
interface-type: appl-config-option
links:
- role: appl-config-group-member
uid: group-classic
name: CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
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 ${/rtems/basedefs/if/align-up:/name} and
${/rtems/task/if/storage-alignment:/name} 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.
text: ''
type: interface
|