diff --git a/src/java.desktop/unix/native/libawt/awt/awt_LoadLibrary.c b/src/java.desktop/unix/native/libawt/awt/awt_LoadLibrary.c index 79850a8dac718..2f02aa10b9457 100644 --- a/src/java.desktop/unix/native/libawt/awt/awt_LoadLibrary.c +++ b/src/java.desktop/unix/native/libawt/awt/awt_LoadLibrary.c @@ -98,6 +98,9 @@ JNIEXPORT jboolean JNICALL AWTIsHeadless() { #define HEADLESS_PATH "/libawt_headless.so" #endif +typedef jboolean (*JLI_IsStaticJDK_t)(); +static JLI_IsStaticJDK_t IsStaticJDK = NULL; + jint AWT_OnLoad(JavaVM *vm, void *reserved) { diff --git a/src/jdk.jdwp.agent/unix/native/libjdwp/linker_md.c b/src/jdk.jdwp.agent/unix/native/libjdwp/linker_md.c index 0c81d00446e77..26781ce05d57d 100644 --- a/src/jdk.jdwp.agent/unix/native/libjdwp/linker_md.c +++ b/src/jdk.jdwp.agent/unix/native/libjdwp/linker_md.c @@ -129,7 +129,11 @@ void * dbgsysFindLibraryEntry(void *handle, const char *name) return dlsym(handle, name); } +typedef jboolean (*JLI_IsStaticJDK_t)(); + jboolean dbgsysIsStaticJDK() { - return dlsym(NULL, "IsStaticJDK") != NULL; + // JLI_IsStaticJDK is defined by libjli. Check if it is statically linked. + JLI_IsStaticJDK_t IsStaticJDK = (JLI_IsStaticJDK_t)dlsym(RTLD_DEFAULT, "JLI_IsStaticJDK"); + return (IsStaticJDK != NULL) && (IsStaticJDK)(); }