summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
Diffstat (limited to 'c/src')
-rw-r--r--c/src/librtems++/ChangeLog5
-rw-r--r--c/src/librtems++/src/rtemsInterrupt.cc6
2 files changed, 10 insertions, 1 deletions
diff --git a/c/src/librtems++/ChangeLog b/c/src/librtems++/ChangeLog
index 77a82e8aed..ba73e26575 100644
--- a/c/src/librtems++/ChangeLog
+++ b/c/src/librtems++/ChangeLog
@@ -1,3 +1,8 @@
+2001-01-08 Joel Sherrill <joel@OARcorp.com>
+
+ * src/rtemsInterrupt.cc: Allocated interrupt_table since since
+ cannot be determined without CPU model information.
+
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
diff --git a/c/src/librtems++/src/rtemsInterrupt.cc b/c/src/librtems++/src/rtemsInterrupt.cc
index 4cd5d9afa9..923a9fd350 100644
--- a/c/src/librtems++/src/rtemsInterrupt.cc
+++ b/c/src/librtems++/src/rtemsInterrupt.cc
@@ -27,7 +27,7 @@
object
*/
-static rtemsInterrupt *interrupt_table[CPU_INTERRUPT_NUMBER_OF_VECTORS];
+static rtemsInterrupt **interrupt_table;
// has the table been initialised
static bool initialised = false;
@@ -36,6 +36,8 @@ static bool initialised = false;
rtemsInterrupt
*/
+#include <stdlib.h> /* for malloc */
+
rtemsInterrupt::rtemsInterrupt()
: vector(0),
caught(false),
@@ -44,6 +46,8 @@ rtemsInterrupt::rtemsInterrupt()
{
if (!initialised)
{
+ interrupt_table = (rtemsInterrupt **)
+ malloc(sizeof(rtemsInterrupt *) * CPU_INTERRUPT_NUMBER_OF_VECTORS);
for (rtems_vector_number vec = 0;
vec < CPU_INTERRUPT_NUMBER_OF_VECTORS;
vec++)