diff options
author | Andrew Haley <aph@redhat.com> | 2007-01-31 19:04:35 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2007-01-31 19:04:35 +0000 |
commit | 5df332522584230825435e6a168c11b7e9883699 (patch) | |
tree | 9f5f058d35936ac402f92f32ce565f708f0c7689 | |
parent | 7cf4c53d1ed645e185da310d27f3dcd627e4e42b (diff) | |
download | gcc-5df332522584230825435e6a168c11b7e9883699.zip gcc-5df332522584230825435e6a168c11b7e9883699.tar.gz gcc-5df332522584230825435e6a168c11b7e9883699.tar.bz2 |
prims.cc (_Jv_Abort): fflush (stderr).
2007-01-31 Andrew Haley <aph@redhat.com>
* prims.cc (_Jv_Abort): fflush (stderr).
* java/lang/natClassLoader.cc (_Jv_CheckABIVersion): Abort.
From-SVN: r121433
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 6 | ||||
-rw-r--r-- | libjava/prims.cc | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 40ce7ee..8dde1eb 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2007-01-31 Andrew Haley <aph@redhat.com> + + * prims.cc (_Jv_Abort): fflush (stderr). + * java/lang/natClassLoader.cc (_Jv_CheckABIVersion): Abort. + 2007-01-31 Tom Tromey <tromey@redhat.com> * configure, Makefile.in: Rebuilt. diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index 9c1a6a2..e62c6d3 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -208,6 +208,12 @@ _Jv_CheckABIVersion (unsigned long value) // C++ ABI if (version == GCJ_CXX_ABI_VERSION) return; + + // If we've loaded a library that uses the C++ ABI, and this + // library is an incompatible version, then we're dead. There's + // no point throwing an exception: that will crash. + JvFail ("gcj linkage error.\n" + "Incorrect library ABI version detected. Aborting.\n"); } throw new ::java::lang::ClassFormatError diff --git a/libjava/prims.cc b/libjava/prims.cc index e205dbb..a419120 100644 --- a/libjava/prims.cc +++ b/libjava/prims.cc @@ -458,6 +458,7 @@ _Jv_Abort (const char *, const char *, int, const char *message) #else fprintf (stderr, "libgcj failure: %s\n", message); #endif + fflush (stderr); abort (); } |