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