aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/init.c
diff options
context:
space:
mode:
authorDoug Rupp <rupp@adacore.com>2024-06-04 10:17:57 -0700
committerMarc Poulhiès <poulhies@adacore.com>2024-06-21 10:34:20 +0200
commit3c99b1a75585b3c5ea5f79c87702c33b60e47a14 (patch)
treee6ccdb9030c6b9b5d706013e578ba95bb8697af5 /gcc/ada/init.c
parentdf0637007e08eb11ead3ba4ac76de2b69a115327 (diff)
downloadgcc-3c99b1a75585b3c5ea5f79c87702c33b60e47a14.zip
gcc-3c99b1a75585b3c5ea5f79c87702c33b60e47a14.tar.gz
gcc-3c99b1a75585b3c5ea5f79c87702c33b60e47a14.tar.bz2
ada: Revert conditional installation of signal handlers on VxWorks
The conditional installation resulted in a semantic change, and although it is likely what is ultimately wanted (since HW interrupts are being reworked on VxWorks). However it must be done in concert with other modifications for the new formulation of HW interrupts and not in isolation. gcc/ada/ * init.c [vxworks] (__gnat_install_handler): Revert to installing signal handlers without regard to interrupt_state.
Diffstat (limited to 'gcc/ada/init.c')
-rw-r--r--gcc/ada/init.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/ada/init.c b/gcc/ada/init.c
index acb8c7c..93e73f5 100644
--- a/gcc/ada/init.c
+++ b/gcc/ada/init.c
@@ -2100,14 +2100,10 @@ __gnat_install_handler (void)
/* For VxWorks, install all signal handlers, since pragma Interrupt_State
applies to vectored hardware interrupts, not signals. */
- if (__gnat_get_interrupt_state (SIGFPE) != 's')
- sigaction (SIGFPE, &act, NULL);
- if (__gnat_get_interrupt_state (SIGILL) != 's')
- sigaction (SIGILL, &act, NULL);
- if (__gnat_get_interrupt_state (SIGSEGV) != 's')
- sigaction (SIGSEGV, &act, NULL);
- if (__gnat_get_interrupt_state (SIGBUS) != 's')
- sigaction (SIGBUS, &act, NULL);
+ sigaction (SIGFPE, &act, NULL);
+ sigaction (SIGILL, &act, NULL);
+ sigaction (SIGSEGV, &act, NULL);
+ sigaction (SIGBUS, &act, NULL);
#if defined(__leon__) && defined(_WRS_KERNEL)
/* Specific to the LEON VxWorks kernel run-time library */