Index: c/src/exec/rtems/src/Makefile.in
===================================================================
--- c/src/exec/rtems/src/Makefile.in	(revision 0123e3be53e07714c895c78c3145ca088356aa6d)
+++ c/src/exec/rtems/src/Makefile.in	(revision c9973bbc5425e879c4f64f401a08d386a4e5790b)
@@ -25,4 +25,11 @@
   taskstart tasksuspend taskwakeafter taskwakewhen
 
+RATEMON_PIECES=\
+  ratemon ratemoncancel ratemoncreate ratemondelete ratemongetstatus \
+  ratemonident ratemonperiod ratemontimeout
+
+INTR_PIECES=\
+  intr intrbody intrcatch
+
 CLOCK_PIECES=\
   clock clockget clockset clocktick
@@ -47,8 +54,4 @@
   signal signalcatch signalsend
 
-RATEMON_PIECES=\
-  ratemon ratemoncancel ratemoncreate ratemondelete ratemongetstatus \
-  ratemonident ratemonperiod ratemontimeout
-
 REGION_PIECES=\
   region regioncreate regiondelete regionextend regiongetsegment \
@@ -64,5 +67,5 @@
 C_PIECES=\
   attr $(TASK_PIECES) $(RATEMON_PIECES) \
-  intr intrbody \
+  $(INTR_PIECES) \
   $(CLOCK_PIECES) $(TIMER_PIECES) \
   $(SEMAPHORE_PIECES) $(MESSAGE_QUEUE_PIECES) \
Index: c/src/exec/rtems/src/intr.c
===================================================================
--- c/src/exec/rtems/src/intr.c	(revision 0123e3be53e07714c895c78c3145ca088356aa6d)
+++ c/src/exec/rtems/src/intr.c	(revision c9973bbc5425e879c4f64f401a08d386a4e5790b)
@@ -31,38 +31,2 @@
 {
 }
-
-/*  rtems_interrupt_catch
- *
- *  This directive allows a thread to specify what action to take when
- *  catching signals.
- *
- *  Input parameters:
- *    new_isr_handler - address of interrupt service routine (isr)
- *    vector          - interrupt vector number
- *    old_isr_handler - address at which to store previous ISR address
- *
- *  Output parameters:
- *    RTEMS_SUCCESSFUL - always succeeds
- *    *old_isr_handler  - previous ISR address
- */
-
-rtems_status_code rtems_interrupt_catch(
-  rtems_isr_entry      new_isr_handler,
-  rtems_vector_number  vector,
-  rtems_isr_entry     *old_isr_handler
-)
-{
-  if ( !_ISR_Is_vector_number_valid( vector ) )
-    return RTEMS_INVALID_NUMBER;
-
-  if ( !_ISR_Is_valid_user_handler( (void *) new_isr_handler ) )
-    return RTEMS_INVALID_ADDRESS;
-
-  if ( !_ISR_Is_valid_user_handler( (void *) old_isr_handler ) )
-    return RTEMS_INVALID_ADDRESS;
-
-  _ISR_Install_vector(
-    vector, (proc_ptr)new_isr_handler, (proc_ptr *)old_isr_handler );
-
-  return RTEMS_SUCCESSFUL;
-}
Index: c/src/exec/rtems/src/intrcatch.c
===================================================================
--- c/src/exec/rtems/src/intrcatch.c	(revision c9973bbc5425e879c4f64f401a08d386a4e5790b)
+++ c/src/exec/rtems/src/intrcatch.c	(revision c9973bbc5425e879c4f64f401a08d386a4e5790b)
@@ -0,0 +1,55 @@
+/*
+ *  Interrupt Manager
+ *
+ *
+ *  COPYRIGHT (c) 1989-1998.
+ *  On-Line Applications Research Corporation (OAR).
+ *  Copyright assigned to U.S. Government, 1994.
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.OARcorp.com/rtems/license.html.
+ *
+ *  $Id$
+ */
+
+#include <rtems/system.h>
+#include <rtems/rtems/status.h>
+#include <rtems/score/isr.h>
+#include <rtems/rtems/intr.h>
+
+/*  rtems_interrupt_catch
+ *
+ *  This directive allows a thread to specify what action to take when
+ *  catching signals.
+ *
+ *  Input parameters:
+ *    new_isr_handler - address of interrupt service routine (isr)
+ *    vector          - interrupt vector number
+ *    old_isr_handler - address at which to store previous ISR address
+ *
+ *  Output parameters:
+ *    RTEMS_SUCCESSFUL - always succeeds
+ *    *old_isr_handler  - previous ISR address
+ */
+
+rtems_status_code rtems_interrupt_catch(
+  rtems_isr_entry      new_isr_handler,
+  rtems_vector_number  vector,
+  rtems_isr_entry     *old_isr_handler
+)
+{
+  if ( !_ISR_Is_vector_number_valid( vector ) )
+    return RTEMS_INVALID_NUMBER;
+
+  if ( !_ISR_Is_valid_user_handler( (void *) new_isr_handler ) )
+    return RTEMS_INVALID_ADDRESS;
+
+  if ( !_ISR_Is_valid_user_handler( (void *) old_isr_handler ) )
+    return RTEMS_INVALID_ADDRESS;
+
+  _ISR_Install_vector(
+    vector, (proc_ptr)new_isr_handler, (proc_ptr *)old_isr_handler );
+
+  return RTEMS_SUCCESSFUL;
+}
Index: cpukit/rtems/src/intr.c
===================================================================
--- cpukit/rtems/src/intr.c	(revision 0123e3be53e07714c895c78c3145ca088356aa6d)
+++ cpukit/rtems/src/intr.c	(revision c9973bbc5425e879c4f64f401a08d386a4e5790b)
@@ -31,38 +31,2 @@
 {
 }
-
-/*  rtems_interrupt_catch
- *
- *  This directive allows a thread to specify what action to take when
- *  catching signals.
- *
- *  Input parameters:
- *    new_isr_handler - address of interrupt service routine (isr)
- *    vector          - interrupt vector number
- *    old_isr_handler - address at which to store previous ISR address
- *
- *  Output parameters:
- *    RTEMS_SUCCESSFUL - always succeeds
- *    *old_isr_handler  - previous ISR address
- */
-
-rtems_status_code rtems_interrupt_catch(
-  rtems_isr_entry      new_isr_handler,
-  rtems_vector_number  vector,
-  rtems_isr_entry     *old_isr_handler
-)
-{
-  if ( !_ISR_Is_vector_number_valid( vector ) )
-    return RTEMS_INVALID_NUMBER;
-
-  if ( !_ISR_Is_valid_user_handler( (void *) new_isr_handler ) )
-    return RTEMS_INVALID_ADDRESS;
-
-  if ( !_ISR_Is_valid_user_handler( (void *) old_isr_handler ) )
-    return RTEMS_INVALID_ADDRESS;
-
-  _ISR_Install_vector(
-    vector, (proc_ptr)new_isr_handler, (proc_ptr *)old_isr_handler );
-
-  return RTEMS_SUCCESSFUL;
-}
Index: cpukit/rtems/src/intrcatch.c
===================================================================
--- cpukit/rtems/src/intrcatch.c	(revision c9973bbc5425e879c4f64f401a08d386a4e5790b)
+++ cpukit/rtems/src/intrcatch.c	(revision c9973bbc5425e879c4f64f401a08d386a4e5790b)
@@ -0,0 +1,55 @@
+/*
+ *  Interrupt Manager
+ *
+ *
+ *  COPYRIGHT (c) 1989-1998.
+ *  On-Line Applications Research Corporation (OAR).
+ *  Copyright assigned to U.S. Government, 1994.
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.OARcorp.com/rtems/license.html.
+ *
+ *  $Id$
+ */
+
+#include <rtems/system.h>
+#include <rtems/rtems/status.h>
+#include <rtems/score/isr.h>
+#include <rtems/rtems/intr.h>
+
+/*  rtems_interrupt_catch
+ *
+ *  This directive allows a thread to specify what action to take when
+ *  catching signals.
+ *
+ *  Input parameters:
+ *    new_isr_handler - address of interrupt service routine (isr)
+ *    vector          - interrupt vector number
+ *    old_isr_handler - address at which to store previous ISR address
+ *
+ *  Output parameters:
+ *    RTEMS_SUCCESSFUL - always succeeds
+ *    *old_isr_handler  - previous ISR address
+ */
+
+rtems_status_code rtems_interrupt_catch(
+  rtems_isr_entry      new_isr_handler,
+  rtems_vector_number  vector,
+  rtems_isr_entry     *old_isr_handler
+)
+{
+  if ( !_ISR_Is_vector_number_valid( vector ) )
+    return RTEMS_INVALID_NUMBER;
+
+  if ( !_ISR_Is_valid_user_handler( (void *) new_isr_handler ) )
+    return RTEMS_INVALID_ADDRESS;
+
+  if ( !_ISR_Is_valid_user_handler( (void *) old_isr_handler ) )
+    return RTEMS_INVALID_ADDRESS;
+
+  _ISR_Install_vector(
+    vector, (proc_ptr)new_isr_handler, (proc_ptr *)old_isr_handler );
+
+  return RTEMS_SUCCESSFUL;
+}
