RFR: JDK-8320005 : Native library suffix impact on hotspot code in AIX [v2]

David Holmes dholmes at openjdk.org
Thu Nov 23 06:04:06 UTC 2023


On Wed, 22 Nov 2023 16:24:24 GMT, suchismith1993 <duke at openjdk.org> wrote:

>> J2SE agent does not start and throws error when it tries to find the shared library ibm_16_am.
>> After searching for ibm_16_am.so ,the jvm agent throws and error as dll_load fails.It fails to identify the shared library ibm_16_am.a shared archive file on AIX.
>> Hence we are providing a function which will additionally search for .a file on AIX ,when the search for .so file fails.
>
> suchismith1993 has updated the pull request incrementally with one additional commit since the last revision:
> 
>   change macro position

A couple of comments.

First, if you always want to look for `libfoo.a` if you can't find `libfoo.so` then maybe that should be handled as the `os::dll_load` level? Otherwisae it is not clear why this is something you only do for agents. ?/

Second, the amount of AIX-specific code in the shared `jvmtiAgent.cpp` now seems unreasonable. As I think @tstuefe mentioned in another PR perhaps it is time to find better abstractions here to hide all these AIX specific quirks?

src/hotspot/os/aix/os_aix.cpp line 3071:

> 3069:   }
> 3070:   buffer[end] = '\0';
> 3071:   strcat(buffer, extension);

At some point you need to check the length of extension won't overflow buffer.

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

PR Review: https://git.openjdk.org/jdk/pull/16604#pullrequestreview-1745744207
PR Review Comment: https://git.openjdk.org/jdk/pull/16604#discussion_r1402941846


More information about the serviceability-dev mailing list