]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ada: Revert conditional installation of signal handlers on VxWorks
authorDoug Rupp <rupp@adacore.com>
Tue, 4 Jun 2024 17:17:57 +0000 (10:17 -0700)
committerMarc Poulhiès <poulhies@adacore.com>
Fri, 21 Jun 2024 08:34:20 +0000 (10:34 +0200)
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.

gcc/ada/init.c

index acb8c7cc57ee28ca6e3cd08438f883f45fd7cb8b..93e73f53c64cf4f45137829107c6704149fa75c3 100644 (file)
@@ -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 */