aboutsummaryrefslogtreecommitdiff
path: root/libjava/prims.cc
diff options
context:
space:
mode:
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2001-07-24 20:08:58 +0000
committerRainer Orth <ro@gcc.gnu.org>2001-07-24 20:08:58 +0000
commitedd60b15d1fe4a845c79e72c297bd81e95506858 (patch)
tree73237875779300713dd1ab622cdddf291c188485 /libjava/prims.cc
parent6e6958dce4887e887a942da5ff9415c23e45fd46 (diff)
downloadgcc-edd60b15d1fe4a845c79e72c297bd81e95506858.zip
gcc-edd60b15d1fe4a845c79e72c297bd81e95506858.tar.gz
gcc-edd60b15d1fe4a845c79e72c297bd81e95506858.tar.bz2
prims.cc (_JNI_OnLoad): New function.
* prims.cc (_JNI_OnLoad): New function. (JNI_OnLoad): Use it. (_Jv_CreateJavaVM): Check for _JNI_OnLoad, not NULL. From-SVN: r44316
Diffstat (limited to 'libjava/prims.cc')
-rw-r--r--libjava/prims.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/libjava/prims.cc b/libjava/prims.cc
index eac47e5..f10497e 100644
--- a/libjava/prims.cc
+++ b/libjava/prims.cc
@@ -690,12 +690,19 @@ win32_exception_handler (LPEXCEPTION_POINTERS e)
#endif
-/* This will be non-NULL if the user has preloaded a JNI library, or
- linked one into the executable. */
+/* This will be different from _JNI_OnLoad if the user has preloaded a JNI
+ library, or linked one into the executable. */
extern "C"
{
-#pragma weak JNI_OnLoad
+ /* Some systems, like Tru64 UNIX, don't support weak definitions, so use
+ an empty dummy function to check if the user provided his own. */
+#pragma weak JNI_OnLoad = _JNI_OnLoad
extern jint JNI_OnLoad (JavaVM *, void *) __attribute__((weak));
+
+ jint _JNI_OnLoad (JavaVM *vm, void *)
+ {
+ return 0;
+ }
}
@@ -895,7 +902,7 @@ _Jv_CreateJavaVM (void* /*vm_args*/)
environment variable. We take advatage of this here to allow for
dynamically loading a JNI library into a fully linked executable. */
- if (JNI_OnLoad != NULL)
+ if (JNI_OnLoad != _JNI_OnLoad)
{
JavaVM *vm = _Jv_GetJavaVM ();
if (vm == NULL)