aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/doc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2022-11-29 18:44:33 +0100
committerMarc Poulhiès <poulhies@adacore.com>2022-12-01 14:53:54 +0100
commitf82d10a5485965788dad8258e8946c34d90953a0 (patch)
tree62b07ca24e207941376ae0367ea4e88b82694b37 /gcc/ada/doc
parent81fd08ae715f1cd66bb172e77a63dd5efbc39052 (diff)
downloadgcc-f82d10a5485965788dad8258e8946c34d90953a0.zip
gcc-f82d10a5485965788dad8258e8946c34d90953a0.tar.gz
gcc-f82d10a5485965788dad8258e8946c34d90953a0.tar.bz2
ada: Further adjustments to User's Guide for PIE default
gcc/ada/ * doc/gnat_ugn/gnat_and_program_execution.rst (Non-Symbolic Traceback): Add compilation line. (Symbolic Traceback): Remove obsolete stuff. * doc/gnat_ugn/gnat_utility_programs.rst (gnatsymbolize): Adjust. * gnat_ugn.texi: Regenerate.
Diffstat (limited to 'gcc/ada/doc')
-rw-r--r--gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst15
-rw-r--r--gcc/ada/doc/gnat_ugn/gnat_utility_programs.rst16
2 files changed, 18 insertions, 13 deletions
diff --git a/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst b/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst
index 45ecea7..5dab2d4 100644
--- a/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst
+++ b/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst
@@ -928,10 +928,9 @@ Ada facilities defined in ``Ada.Exceptions``. Here is a simple example:
P2;
end STB;
-This program will output:
-
::
+ $ gnatmake stb -g -bargs -E -largs -no-pie
$ stb
raised CONSTRAINT_ERROR : stb.adb:12 range check failed
@@ -1070,7 +1069,7 @@ Here is an example:
::
- $ gnatmake -g .\stb -bargs -E
+ $ gnatmake -g stb -bargs -E
$ stb
0040149F in stb.p1 at stb.adb:8
@@ -1082,16 +1081,6 @@ Here is an example:
004011F1 in mainCRTStartup at crt1.c:222
77E892A4 in ?? at ??:0
-In the above example the ``.\`` syntax in the ``gnatmake`` command
-is currently required by ``addr2line`` for files that are in
-the current working directory.
-Moreover, the exact sequence of linker options may vary from platform
-to platform.
-The above :switch:`-largs` section is for Windows platforms. By contrast,
-under Unix there is no need for the :switch:`-largs` section.
-Differences across platforms are due to details of linker implementation.
-
-
.. rubric:: Tracebacks From Anywhere in a Program
It is possible to get a symbolic stack traceback
diff --git a/gcc/ada/doc/gnat_ugn/gnat_utility_programs.rst b/gcc/ada/doc/gnat_ugn/gnat_utility_programs.rst
index f2d42e9..7df45d5 100644
--- a/gcc/ada/doc/gnat_ugn/gnat_utility_programs.rst
+++ b/gcc/ada/doc/gnat_ugn/gnat_utility_programs.rst
@@ -2154,6 +2154,7 @@ building specialized scripts.
with GNAT.IO; use GNAT.IO;
with GNAT.Traceback; use GNAT.Traceback;
with GNAT.Debug_Utilities;
+
package body Pck is
procedure Call_Me_Third is
TB : Tracebacks_Array (1 .. 5);
@@ -2177,10 +2178,25 @@ building specialized scripts.
Call_Me_Second;
end Call_Me_First;
end Pck;
+
+ with GNAT.IO; use GNAT.IO;
+ with GNAT.Debug_Utilities;
+ with GNAT.Traceback;
+ with System;
+
with Pck; use Pck;
procedure Foo is
+ LA : constant System.Address := \
+ GNAT.Traceback.Executable_Load_Address;
+
+ use type System.Address;
+
begin
+ if LA /= System.Null_Address then
+ Put_Line ("Load address: " & GNAT.Debug_Utilities.Image_C (LA));
+ end if;
+
Global_Val := 123;
Call_Me_First;
end Foo;