determines the initial size of the secondary stack for each task and the
smallest amount the secondary stack can grow by.
- For Ravenscar, ZFP, and Cert run-times the size of the secondary stack is
- fixed. This switch can be used to change the default size of these stacks.
- The default secondary stack size can be overridden on a per-task basis if
- individual tasks have different secondary stack requirements. This is
- achieved through the Secondary_Stack_Size aspect that takes the size of the
- secondary stack in bytes.
+ For Light, Light-Tasking, and Embedded run-times the size of the secondary
+ stack is fixed. This switch can be used to change the default size of these
+ stacks. The default secondary stack size can be overridden on a per-task
+ basis if individual tasks have different secondary stack requirements. This
+ is achieved through the Secondary_Stack_Size aspect, which takes the size of
+ the secondary stack in bytes.
.. index:: -e (gnatbind)
Generate binder file suitable for CodePeer.
+.. index:: -Q (gnatbind)
+
+:switch:`-Q{nnn}`
+ Generate ``nnn`` additional default-sized secondary stacks.
+
+ Tasks declared at the library level that use default-size secondary stacks
+ have their secondary stacks allocated from a pool of stacks generated by
+ gnatbind. This allows the default secondary stack size to be quickly changed
+ by rebinding the application.
+
+ While the binder sizes this pool to match the number of such tasks defined in
+ the application, the pool size may need to be increased with the :switch:`-Q`
+ switch to accommodate foreign threads registered with the Light run-time. For
+ more information, please see the *The Primary and Secondary Stack* chapter in
+ the *GNAT User’s Guide Supplement for Cross Platforms*.
+
+
.. index:: -R (gnatbind)
:switch:`-R`
@setfilename gnat_ugn.info
@documentencoding UTF-8
@ifinfo
-@*Generated by Sphinx 5.2.3.@*
+@*Generated by Sphinx 7.2.6.@*
@end ifinfo
@settitle GNAT User's Guide for Native Platforms
@defindex ge
@copying
@quotation
-GNAT User's Guide for Native Platforms , Sep 26, 2023
+GNAT User's Guide for Native Platforms , Oct 16, 2023
AdaCore
determines the initial size of the secondary stack for each task and the
smallest amount the secondary stack can grow by.
-For Ravenscar, ZFP, and Cert run-times the size of the secondary stack is
-fixed. This switch can be used to change the default size of these stacks.
-The default secondary stack size can be overridden on a per-task basis if
-individual tasks have different secondary stack requirements. This is
-achieved through the Secondary_Stack_Size aspect that takes the size of the
-secondary stack in bytes.
+For Light, Light-Tasking, and Embedded run-times the size of the secondary
+stack is fixed. This switch can be used to change the default size of these
+stacks. The default secondary stack size can be overridden on a per-task
+basis if individual tasks have different secondary stack requirements. This
+is achieved through the Secondary_Stack_Size aspect, which takes the size of
+the secondary stack in bytes.
@end table
@geindex -e (gnatbind)
@item @code{-P}
Generate binder file suitable for CodePeer.
+@end table
+
+@geindex -Q (gnatbind)
+
+
+@table @asis
+
+@item @code{-Q`nnn'}
+
+Generate @code{nnn} additional default-sized secondary stacks.
+
+Tasks declared at the library level that use default-size secondary stacks
+have their secondary stacks allocated from a pool of stacks generated by
+gnatbind. This allows the default secondary stack size to be quickly changed
+by rebinding the application.
+
+While the binder sizes this pool to match the number of such tasks defined in
+the application, the pool size may need to be increased with the @code{-Q}
+switch to accommodate foreign threads registered with the Light run-time. For
+more information, please see the `The Primary and Secondary Stack' chapter in
+the `GNAT User’s Guide Supplement for Cross Platforms'.
@geindex -R (gnatbind)
Selecting another run-time library temporarily can be
achieved by using the @code{--RTS} switch, e.g., @code{--RTS=sjlj}
-@anchor{gnat_ugn/platform_specific_information choosing-the-scheduling-policy}@anchor{1bb}
+
@geindex SCHED_FIFO scheduling policy
@geindex SCHED_RR scheduling policy
@geindex SCHED_OTHER scheduling policy
-
+@anchor{gnat_ugn/platform_specific_information choosing-the-scheduling-policy}@anchor{1bb}
@menu
* Choosing the Scheduling Policy::