Mandy Chung
Mandy Chung
> I suppose it's an open question for the JDK why jdeps thinks you need all those other modules when actually you don't, at least for the "normal" code paths....
JDK-8313616 added the support of loading library members on AIX in os::dll_load in JDK 22. On AIX, is a shared object always a member object loaded from `libname.a(libname.so)`? If so,...
`os::dll_load` already handles loading from .a on AIX when attempting loading .so (see JDK-8320005). For example, if loading `libclang.so` fails, it attempts to load from `libclang.a`. This issue is essentially...
JDK-8313616 changes HotSpot VM to support loading member objects from .a on AIX dlopen. That RFE was a reasonable change as AIX JDK may load native libraries from an archive...
> And it has been in J9 for long time for the exact same reason, which actually brought out the issue for dcstartup in OpenJDK. dcstartup fails because it fails...
I think just changing `loadLibraryOnlyIfPresent` to return false should be sufficient to make `System.loadLibrary("foo")` loading from "libfoo.a" and `System.load("/usr/lib/libfoo.a(libfoo.so)")` to work.
> Just to clarify, this would still mean converting “isStatic” and “noArgs” from local variables to fields so I am able to read them on the C side of things....
I missed that `NULL_CHECK0` prints that JNI error, sorry. We should avoid using it then. What do you think having a check macro to return 0 if exception occurred or...
I did one pass through the changes. Looks like the plugin author has to consider how it should work to support linking without packaged modules. The current implementation `--system-modules` re-applies...
> > The current implementation `--system-modules` re-applies for every jlink invocation since the transformation depends on the set of modules to be linked in the resulting image. > > Yes....