diff options
author | Olivier Hainque <hainque@adacore.com> | 2005-03-15 16:48:37 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2005-03-15 16:48:37 +0100 |
commit | 3f8abd98baf5945e43011ecb32025d8d2e82d93f (patch) | |
tree | 313419272b6493965898a2e40f850fa09f2d6163 /gcc/ada/raise.h | |
parent | 7e98a4c668eac2b10f06ff207a24d2ca4e867128 (diff) | |
download | gcc-3f8abd98baf5945e43011ecb32025d8d2e82d93f.zip gcc-3f8abd98baf5945e43011ecb32025d8d2e82d93f.tar.gz gcc-3f8abd98baf5945e43011ecb32025d8d2e82d93f.tar.bz2 |
s-intman-posix.adb (Notify_Exception): Adjust signature, as handler for sigactions with SA_SIGINFO set.
2005-03-08 Olivier Hainque <hainque@adacore.com>
* 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
Diffstat (limited to 'gcc/ada/raise.h')
-rw-r--r-- | gcc/ada/raise.h | 1 |
1 files changed, 1 insertions, 0 deletions
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; |