From 303b5d874720aa1830c696a20e1e03abc1a12e14 Mon Sep 17 00:00:00 2001 From: Doug Rupp Date: Wed, 7 Jul 2021 09:38:34 -0700 Subject: [PATCH] [Ada] Add some comments in init.c about the lynx178 signal handler gcc/ada/ * init.c (__gnat_error_handler) [LynxOS]: Add a comment about missing optional args. --- gcc/ada/init.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gcc/ada/init.c b/gcc/ada/init.c index c48e244..2bbb601 100644 --- a/gcc/ada/init.c +++ b/gcc/ada/init.c @@ -661,6 +661,28 @@ __gnat_install_handler (void) #include #include +/* SA_SIGINFO is not supported by default on LynxOS, so all we have + available here is the "sig" argument. On newer LynxOS versions it's + possible to support SA_SIGINFO by setting a kernel configuration macro. + + To wit: + + #define NONPOSIX_SA_HANDLER_PROTO (0) + + This macro must be set to 1 in either sys/bsp./uparam.h + or in the associated uparam.h customization file sys/bsp./xparam.h + (uparam.h includes xparam.h for customization) + + The NONPOSIX_SA_HANDLER_PROTO macro makes it possible to provide + signal-catching function with 'info' and 'context' input parameters + even if SA_SIGINFO flag is not set or it is set for a non-realtime signal. + + It also allows signal-catching function to update thread context even + if SA_UPDATECTX flag is not set. + + This would be useful, but relying on that would transmit the requirement + to users to configure that feature as well, which is undesirable. */ + static void __gnat_error_handler (int sig) { -- 2.7.4