aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/init.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2005-07-04 15:26:02 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2005-07-04 15:26:02 +0200
commit0556b702920f8de9acfdff66e27c2e0155c41365 (patch)
treea2137301ffb797629f27212c2560ce0b25c26ccc /gcc/ada/init.c
parent1a79be3c0024007e40e7b8ffb1cfcd5382358fc7 (diff)
downloadgcc-0556b702920f8de9acfdff66e27c2e0155c41365.zip
gcc-0556b702920f8de9acfdff66e27c2e0155c41365.tar.gz
gcc-0556b702920f8de9acfdff66e27c2e0155c41365.tar.bz2
s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to fetch a code-range descriptor associated with...
2005-07-04 Eric Botcazou <ebotcazou@adacore.com> * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to fetch a code-range descriptor associated with the machine state. On failure set the machine state's PC to 0; on success, pass the descriptor to exc_virtual_unwind. * init.c (Tru64 section): New function __gnat_set_code_loc. From-SVN: r101572
Diffstat (limited to 'gcc/ada/init.c')
-rw-r--r--gcc/ada/init.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ada/init.c b/gcc/ada/init.c
index ef6b210..fb08c8b 100644
--- a/gcc/ada/init.c
+++ b/gcc/ada/init.c
@@ -404,6 +404,7 @@ __gnat_install_handler (void)
static void __gnat_error_handler (int, siginfo_t *, struct sigcontext *);
extern char *__gnat_get_code_loc (struct sigcontext *);
+extern void __gnat_set_code_loc (struct sigcontext *, char *);
extern void __gnat_enter_handler (struct sigcontext *, char *);
extern size_t __gnat_machine_state_length (void);
@@ -519,6 +520,13 @@ __gnat_get_code_loc (struct sigcontext *context)
}
void
+__gnat_set_code_loc (struct sigcontext *context, char *pc)
+{
+ context->sc_pc = (long) pc;
+}
+
+
+void
__gnat_enter_handler (struct sigcontext *context, char *pc)
{
context->sc_pc = (long) pc;