RFR: JDK-8319516 - Native library suffix impact on the library loading in AIX- Java Class Loader [v5]

Suchismith Roy sroy at openjdk.org
Wed Mar 27 08:26:25 UTC 2024


On Tue, 26 Mar 2024 21:11:09 GMT, Mandy Chung <mchung at openjdk.org> wrote:

>> src/java.base/aix/classes/jdk/internal/loader/ClassLoaderHelper.java line 68:
>> 
>>> 66:             int dotIndex = name.lastIndexOf('.');
>>> 67:             String memberName = name.substring(openBracketIndex,dotIndex);
>>> 68:             //Reconstruct <libname>.so(<member_name>) as <libname>.a(<member_name>)
>> 
>> Do we really need to support libname.so(member)? Isn't it always libname.a(member)?
>
> I think `mapAlternativeName` isn't needed at all.   If `loadLibraryOnlyIfPresent` returns false, `System.load("libname.a(member)")` should be passed to dlopen directly.   @suchismith1993 can verify it.

@mlchung The first name constructed by Classloader is always lib<name>.so. So we need a way to map it to lib<name>.a . Else it will search for .so and fail.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17945#discussion_r1540650937


More information about the core-libs-dev mailing list