aboutsummaryrefslogtreecommitdiff
path: root/libjava/exception.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/exception.cc')
-rw-r--r--libjava/exception.cc17
1 files changed, 13 insertions, 4 deletions
diff --git a/libjava/exception.cc b/libjava/exception.cc
index a8e6ece..5d1f288 100644
--- a/libjava/exception.cc
+++ b/libjava/exception.cc
@@ -11,16 +11,25 @@ details. */
#include <config.h>
#include <stddef.h>
-#include <cstdlib>
+#include <stdlib.h>
#include <java/lang/Class.h>
#include <java/lang/NullPointerException.h>
#include <gcj/cni.h>
#include <jvm.h>
+// unwind-pe.h uses std::abort(), but sometimes we compile libjava
+// without libstdc++-v3. The following hack forces it to use
+// stdlib.h's abort().
+namespace std
+{
+ void abort ()
+ {
+ ::abort ();
+ }
+}
#include "unwind.h"
-
struct alignment_test_struct
{
char space;
@@ -97,7 +106,7 @@ _Jv_Throw (jthrowable value)
recover. As is the way of such things, almost certainly we will have
crashed before now, rather than actually being able to diagnose the
problem. */
- std::abort ();
+ abort();
}
@@ -344,7 +353,7 @@ PERSONALITY_FUNCTION (int version,
// ??? Perhaps better to make them an index into a table
// of null-terminated strings instead of playing games
// with Utf8Const+1 as above.
- std::abort ();
+ abort ();
}
if (ar_disp == 0)