aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/raise-gcc.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2008-08-22 14:41:18 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2008-08-22 14:41:18 +0200
commit116c24a05cd68221a2e832c0a7c0d9225c7e4d20 (patch)
tree6d16dd0e5e2d1e6489a3550cab5cbaf3e60afcf4 /gcc/ada/raise-gcc.c
parent0999b547483679fe9060506a28e170866d07cd92 (diff)
downloadgcc-116c24a05cd68221a2e832c0a7c0d9225c7e4d20.zip
gcc-116c24a05cd68221a2e832c0a7c0d9225c7e4d20.tar.gz
gcc-116c24a05cd68221a2e832c0a7c0d9225c7e4d20.tar.bz2
init.c: adjust EH support code on Alpha/Tru64 as well.
2008-08-22 Eric Botcazou <ebotcazou@adacore.com> * init.c: adjust EH support code on Alpha/Tru64 as well. * raise-gcc.c: Add back a couple of comments. From-SVN: r139446
Diffstat (limited to 'gcc/ada/raise-gcc.c')
-rw-r--r--gcc/ada/raise-gcc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/raise-gcc.c b/gcc/ada/raise-gcc.c
index 8b3433b..434213b 100644
--- a/gcc/ada/raise-gcc.c
+++ b/gcc/ada/raise-gcc.c
@@ -694,6 +694,8 @@ get_call_site_action_for (_Unwind_Context *uw_context,
#else
_Unwind_Ptr call_site = _Unwind_GetIP (uw_context);
#endif
+ /* Subtract 1 if necessary because GetIPInfo returns the actual call site
+ value + 1 in this case. */
if (!ip_before_insn)
call_site--;
@@ -758,6 +760,10 @@ get_call_site_action_for (_Unwind_Context *uw_context,
#else
_Unwind_Ptr ip = _Unwind_GetIP (uw_context);
#endif
+ /* Subtract 1 if necessary because GetIPInfo yields a call return address
+ in this case, while we are interested in information for the call point.
+ This does not always yield the exact call instruction address but always
+ brings the IP back within the corresponding region. */
if (!ip_before_insn)
ip--;