From 3f8abd98baf5945e43011ecb32025d8d2e82d93f Mon Sep 17 00:00:00 2001 From: Olivier Hainque Date: Tue, 15 Mar 2005 16:48:37 +0100 Subject: s-intman-posix.adb (Notify_Exception): Adjust signature, as handler for sigactions with SA_SIGINFO set. 2005-03-08 Olivier Hainque * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler for sigactions with SA_SIGINFO set. Call __gnat_adjust_context_for_raise before raising, to perform the potentially required adjustments to the machine context for the GCC unwinder. * raise.h (__gnat_adjust_context_for_raise): New prototype. * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision. Adjust PC by one in the provided machine context. (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags, so that the handler is passed the context structure to adjust prior to the raise. (__gnat_error_handler) HPUX: Adjust the signature to match what an SA_SIGINFO sigaction should look like. Call __gnat_adjust_context_for_raise before actually raising. (__gnat_adjust_context_for_raise): Default noop to help PC adjustments before raise from signal handlers. (__gnat_error_handler): Indirectly call a predicate function to determine if a condition should be resignaled or not. (__gnat_set_resignal_predicate): User interface to modify the predicate. (__gnat_default_resignal_p): Default GNAT predicate. From-SVN: r96482 --- gcc/ada/raise.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/ada/raise.h') diff --git a/gcc/ada/raise.h b/gcc/ada/raise.h index 8ef77d7..ad5bacf 100644 --- a/gcc/ada/raise.h +++ b/gcc/ada/raise.h @@ -70,5 +70,6 @@ extern void __gnat_initialize (void *); extern void __gnat_init_float (void); extern void __gnat_install_handler (void); extern void __gnat_install_SEH_handler (void *); +extern void __gnat_adjust_context_for_raise (int, void *); extern int gnat_exit_status; -- cgit v1.1