libgcj problem in FindClass with shared libraries.
abhishek desai <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, I am using libgcj version 3.4.6 (I have to use this version of gcc and libgcj) . I have shared libraries with precompiled java clases and am using JNI function call "(*env)->FindClass" to get the class. Tracing through the _Jv_JNI_FIndClass I found that the dynamic library gets loaded but the symbols are not loaded into the cache. In the function call "jclass gnu::gcj::runtime::VMClassLoader::findClass (jstring name)" there is a call to "jboolean java::lang::Runtime::loadLibraryInternal (jstring lib)" . This does the loading of the library by eventually calling dlopen in libtdl. After this call there is no call to access the symbol from the library or to load it to the cache. But the symbol is searched for in the cache using _Jv_FindClassInCache which returns NULL. Is this a bug or I am missing something ? Need help with getting the symbols loaded. ----Abhishek