X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libjava%2Fgnu%2Fgcj%2Fruntime%2FnatSharedLibLoader.cc;fp=libjava%2Fgnu%2Fgcj%2Fruntime%2FnatSharedLibLoader.cc;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=233540917b386abadafa232eda9ab057ff19597a;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libjava/gnu/gcj/runtime/natSharedLibLoader.cc b/libjava/gnu/gcj/runtime/natSharedLibLoader.cc deleted file mode 100644 index 23354091..00000000 --- a/libjava/gnu/gcj/runtime/natSharedLibLoader.cc +++ /dev/null @@ -1,76 +0,0 @@ -// natSharedLibLoader.cc - Implementation of FirstThread native methods. - -/* Copyright (C) 2001 Free Software Foundation - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#include - -#include -#include -#include -#include - -#ifdef HAVE_DLOPEN -#include - -/* Only used during dlopen, while having a lock on Class.class. */ -static gnu::gcj::runtime::SharedLibLoader* curLoader; - -typedef void (*ClassHookFunc) (jclass); - -static void -::register_hook(jclass cls) -{ - curLoader->registerClass(cls->getName(), cls); -} - -struct SharedLibDummy -{ - ClassHookFunc saved; - SharedLibDummy() - { - saved = _Jv_RegisterClassHook; - } - ~SharedLibDummy() - { - _Jv_RegisterClassHook = saved; - curLoader = NULL; - } -}; -#endif - -void -gnu::gcj::runtime::SharedLibLoader::init(jbyteArray libname, jint flags) -{ -#ifdef HAVE_DLOPEN - char *lname = (char*) elements(libname); - if (flags==0) - flags = RTLD_LAZY; - JvSynchronize dummy1(&java::lang::Class::class$); - SharedLibDummy dummy2; - curLoader = this; - _Jv_RegisterClassHook = ::register_hook; - void *h = dlopen(lname, flags); - if (h == NULL) - { - const char *msg = dlerror(); - } - handler = (gnu::gcj::RawData*) h; -#else - const char *msg = "ShareedLibLoader is not supported on this platform"; - throw new java::lang::UnsupportedOperationException(JvNewStringLatin1(msg)); -#endif -} - -void -gnu::gcj::runtime::SharedLibLoader::finalize() -{ -#ifdef HAVE_DLOPEN - dlclose (handler); -#endif -}