diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-23 05:42:03 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-23 05:42:03 +0000 |
commit | 5bac6719fb51efc5ae3ed6e1610ff50043183d05 (patch) | |
tree | bf8ec1fbae17015b582311573e8b7f51bcecfd33 /libjava/prims.cc | |
parent | 314f2422942f727134ce2052ad12cfa1efeea167 (diff) | |
download | gcc-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.cc | 13 |
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; |