aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/doc/gnat_ugn
diff options
context:
space:
mode:
authorPatrick Bernardi <bernardi@adacore.com>2023-09-29 17:01:56 -0400
committerMarc Poulhiès <poulhies@adacore.com>2023-10-19 16:35:21 +0200
commit1555d18143d7e261eed38188f7511f3075a0f3a5 (patch)
treeafb92e8a8c5a938a142522c16cd4e50eadaf9acb /gcc/ada/doc/gnat_ugn
parent0c29a990a645e24d48bf06adb7e1dca104b79335 (diff)
downloadgcc-1555d18143d7e261eed38188f7511f3075a0f3a5.zip
gcc-1555d18143d7e261eed38188f7511f3075a0f3a5.tar.gz
gcc-1555d18143d7e261eed38188f7511f3075a0f3a5.tar.bz2
ada: Document gnatbind -Q switch
Add documentation for the -Q gnatbind switch in GNAT User's Guide and improve gnatbind's help output for the switch to emphasize that it adds the requested number of stacks to the secondary stack pool generated by the binder. gcc/ada/ * bindusg.adb (Display): Make it clear -Q adds to the number of secondary stacks generated by the binder. * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Document the -Q gnatbind switch and fix references to old runtimes. * gnat-style.texi: Regenerate. * gnat_rm.texi: Regenerate. * gnat_ugn.texi: Regenerate.
Diffstat (limited to 'gcc/ada/doc/gnat_ugn')
-rw-r--r--gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst29
1 files changed, 23 insertions, 6 deletions
diff --git a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
index 6e80163..a708ef4 100644
--- a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
+++ b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
@@ -6524,12 +6524,12 @@ be presented in subsequent sections.
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)
@@ -6739,6 +6739,23 @@ be presented in subsequent sections.
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`