Currently VxWorks is the only target in gcc to support Ada interrupt tasks which are tied to hardware interrupt sources. The code in gcc currently is VxWorks specific. The patch attached generalizes this code by adding an adapter layer consisting of binary semaphores and interrupt management methods. These are generalized names for the routines currently used in the VxWorks code. A diff of the existing s-interr-vxworks.adb and the new s-interr-hwint.adb will show the largely mechanical changes.
Both VxWorks and RTEMS targets have been modified to use this code. It has been tested on RTEMS. The code was first posted to gcc-patches in December 2007 against the 4.2 branch and SVN trunk. All comments were addressed and the code was reposted again in early March 2008 to gcc-patches. It received only comments on mistakes in the comments which were inherited directly from the original VxWorks code. I am filing this as a PR in the hopes that this will result in it finally getting merged. -- Summary: Ada HW Interrupt Task Enhancement Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: joel at gcc dot gnu dot org GCC build triplet: *-*-rtems* *-*-vxworks* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35576