From 2266b563380693a89f84a71760cd3b1990f33b49 Mon Sep 17 00:00:00 2001 From: Vladimir Petko Date: Wed, 22 Jan 2025 08:58:11 +0100 Subject: [PATCH] 8331541: [i386] linking with libjvm.so fails after JDK-8283326 Origin: https://github.com/openjdk/jdk/pull/19048 Bug: https://bugs.openjdk.org/browse/JDK-8331541 Applied-Upstream: commit:2d622152b07bba0aba8fd5b1e24293e28d6e69f5 Last-Update: 2024-05-02 i386 declaration of _SafeFetch32_impl contains an underscore that causes an undefined symbol in libjvm.so. Disable -Wl,--allow-shlib-undefined link flag that allowed the build to succeed. Gbp-Pq: Name jdk-8331541.patch --- make/autoconf/flags-ldflags.m4 | 1 - src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_32.S | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/make/autoconf/flags-ldflags.m4 b/make/autoconf/flags-ldflags.m4 index e5c345fde..af6c06b48 100644 --- a/make/autoconf/flags-ldflags.m4 +++ b/make/autoconf/flags-ldflags.m4 @@ -133,7 +133,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER], # Setup LDFLAGS for linking executables if test "x$TOOLCHAIN_TYPE" = xgcc; then - EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined" # Enabling pie on 32 bit builds prevents the JVM from allocating a continuous # java heap. if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then diff --git a/src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_32.S b/src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_32.S index 492b1207d..35caa39f9 100644 --- a/src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_32.S +++ b/src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_32.S @@ -32,7 +32,7 @@ # 8(%esp) : default value # 4(%esp) : crash address # 0(%esp) : return pc - .type _SafeFetch32_impl,@function + .type SafeFetch32_impl,@function SafeFetch32_impl: movl 4(%esp),%ecx # load address from stack _SafeFetch32_fault: -- 2.30.2