On Thu, 28 Mar 2024 16:57:59 GMT, Mandy Chung <[email protected]> wrote:
> `System::loadLibrary("systeminfo")` should call `JVM_LoadLibrary` with
> "/usr/lib/libsysteminfo.so" argument (let the .a file exists under
> "/usr/lib") which in turn calls `os::dll_load`. JDK-8320005 changed
> `os::dll_load` to first load the given filename; if fails, it will call
> `dll_load_library` with "/usr/lib/libsysteminfo.a".
>
> You can turn on `-Xlog:library` and it should print log message loading
> "/usr/lib/libsysteminfo.so" if you have `loadLibraryOnlyIfPresent` to return
> false. If you don't see log message loading "/usr/lib/libsysteminfo.so",
> `loadLibraryOnlyIfPresent` still returns true.
>
> Turn on "-Xlog:os" should print "attempting shared library load of
> /usr/lib/libsysteminfo.so" and "attempting shared library load of
> /usr/lib/libsysteminfo.a" log message.
@mlchung That should work, but then the mapAlternateName is called in
NativeLibraries.java . I think the classloaderhelper for the respective
platform needs to implement it. So if i remove mapAlternateName I need to
probably remove the entire file from AIX, so that the classloaderhelper of unix
is referred.
Also in ClassLoaderHelper of unix, the mapAlternateName return null. So should
i keep it that way ?
Other optioon is to set loadLibraryOnlyIfPresent to false in the unix
classloaderhelper ? I am not sure if that would be allowed.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17945#issuecomment-2029530668