From 9e3c81bc3a80117ca99867fa47f64aee10387aa4 Mon Sep 17 00:00:00 2001 From: Jiangli Zhou Date: Tue, 8 Aug 2023 19:26:02 -0700 Subject: [PATCH] - Add JNIEXPORT to JLI_IsStaticJDK. - Fix errornous dlsym call for isStaticJDK check in AWT_OnLoad. --- src/java.base/share/native/libjli/java.h | 2 +- src/java.desktop/unix/native/libawt/awt/awt_LoadLibrary.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/java.base/share/native/libjli/java.h b/src/java.base/share/native/libjli/java.h index 94d26ed928c35..5b799e3b46d6f 100644 --- a/src/java.base/share/native/libjli/java.h +++ b/src/java.base/share/native/libjli/java.h @@ -73,7 +73,7 @@ #define SPLASH_JAR_ENV_ENTRY "_JAVA_SPLASH_JAR" #define JDK_JAVA_OPTIONS "JDK_JAVA_OPTIONS" -jboolean JLI_IsStaticJDK(); +JNIEXPORT jboolean JLI_IsStaticJDK(); void JLI_SetStaticJDK(); // FIXME: Add non-unix implementation. void* JLI_Lookup_Set_Static_JDK(); 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 6b76185102cd3..79850a8dac718 100644 --- a/src/java.desktop/unix/native/libawt/awt/awt_LoadLibrary.c +++ b/src/java.desktop/unix/native/libawt/awt/awt_LoadLibrary.c @@ -118,7 +118,8 @@ AWT_OnLoad(JavaVM *vm, void *reserved) jvm = vm; // IsStaticJDK is defined by libjli. Check if it is statically linked. - jboolean isStaticJDK = (dlsym(NULL, "IsStaticJDK") != NULL); + IsStaticJDK = (JLI_IsStaticJDK_t)dlsym(RTLD_DEFAULT, "JLI_IsStaticJDK"); + jboolean isStaticJDK = (IsStaticJDK != NULL) && (IsStaticJDK)(); if (!isStaticJDK) { /* Get address of this library and the directory containing it. */ dladdr((void *)AWT_OnLoad, &dlinfo);