This is similar to https://github.com/openjdk/jdk/pull/23431 change. It removes libjvm.so as a recorded dependency for libExplicitAttach.so by not explicitly link libExplicitAttach.so with libjvm.so at build time. To do that, it also changes libExplicitAttach.c to dynamically lookup the JNI_GetCreatedJavaVMs symbol then invokes the function using the obtained address. The change makes the test to work on both regular 'jdk' image and the 'static-jdk' image.
There are discussions in https://github.com/openjdk/jdk/pull/23431 comment thread among @dholmes-ora, @AlanBateman and myself. Based on my understanding, we are converging on the approach to fix just these few tests, and both @dholmes-ora and @AlanBateman are okay with that. So I'm sending out this PR for libExplicitAttach's fix as well. ------------- Commit messages: - - Don't explicitly link with libjvm.so for libExplicitAttach. That helps to avoid adding libjvm.so as a dependency for libExplicitAttach.so. Changes: https://git.openjdk.org/jdk/pull/23500/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23500&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8349284 Stats: 32 lines in 2 files changed: 30 ins; 1 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/23500.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23500/head:pull/23500 PR: https://git.openjdk.org/jdk/pull/23500