diff --git a/gcc/ada/libgnat/s-trasym.adb b/gcc/ada/libgnat/s-trasym.adb index 894fcf37ffd..e681035cf92 100644 --- a/gcc/ada/libgnat/s-trasym.adb +++ b/gcc/ada/libgnat/s-trasym.adb @@ -69,7 +69,25 @@ package body System.Traceback.Symbolic is end loop; Result (Last) := ASCII.LF; - return Result (1 .. Last); + + declare + function Executable_Load_Address return System.Address; + pragma Import + (C, Executable_Load_Address, + "__gnat_get_executable_load_address"); + + Load_Address : constant System.Address := + Executable_Load_Address; + begin + if Load_Address = System.Null_Address then + return Result (1 .. Last); + else + return "Load address: 0x" + & System.Address_Image (Load_Address) + & ASCII.LF + & Result (1 .. Last); + end if; + end; end; end if; end Symbolic_Traceback;