From: Doug Rupp <r...@adacore.com> 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. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/init.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gcc/ada/init.c b/gcc/ada/init.c index acb8c7cc57e..93e73f53c64 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 */ -- 2.45.1