summaryrefslogtreecommitdiff
path: root/libjava/prims.cc
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-23 05:42:03 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-23 05:42:03 +0000
commit5bac6719fb51efc5ae3ed6e1610ff50043183d05 (patch)
treebf8ec1fbae17015b582311573e8b7f51bcecfd33 /libjava/prims.cc
parent314f2422942f727134ce2052ad12cfa1efeea167 (diff)
downloadgcc-5bac6719fb51efc5ae3ed6e1610ff50043183d05.tar.gz
* prims.cc (_Jv_Abort): Always print error message using fprintf,
don't try to allocate. (_Jv_CreateJavaVM): Set gcj::runTimeInitialized. * include/jvm.h (gcj::runTimeInitialized): New variable declaration. * java/lang/natClassLoader.cc (_Jv_RegisterClassHookDefault): Handle duplicate class registration with JvFail if the runtime hasn't been initialized yet. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46424 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/prims.cc')
-rw-r--r--libjava/prims.cc13
1 files changed, 5 insertions, 8 deletions
diff --git a/libjava/prims.cc b/libjava/prims.cc
index 7b3dd6c6a00..f2f2d6578a2 100644
--- a/libjava/prims.cc
+++ b/libjava/prims.cc
@@ -299,10 +299,7 @@ _Jv_Abort (const char *, const char *, int, const char *message)
"libgcj failure: %s\n in function %s, file %s, line %d\n",
message, function, file, line);
#else
- java::io::PrintStream *err = java::lang::System::err;
- err->print(JvNewStringLatin1 ("libgcj failure: "));
- err->println(JvNewStringLatin1 (message));
- err->flush();
+ fprintf (stderr, "libgcj failure: %s\n", message);
#endif
abort ();
}
@@ -872,6 +869,8 @@ namespace gcj
_Jv_Utf8Const *clinit_name;
_Jv_Utf8Const *init_name;
_Jv_Utf8Const *finit_name;
+
+ bool runtimeInitialized = false;
}
jint
@@ -879,12 +878,10 @@ _Jv_CreateJavaVM (void* /*vm_args*/)
{
using namespace gcj;
- static bool init = false;
-
- if (init)
+ if (runtimeInitialized)
return -1;
- init = true;
+ runtimeInitialized = true;
PROCESS_GCJ_PROPERTIES;