RFR: 8331541: [i386] linking with libjvm.so fails after JDK-8283326

Vladimir Petko vpetko at openjdk.org
Mon May 6 07:30:04 UTC 2024


Hi, 

The     `.type _SafeFetch32_impl, at function` symbol declaration contains a spurious underscore causing an undefined symbol in libjvm.so.

I am not sure about change in default flags. I have removed the flag that allows linking with undefined symbols
because having the flag on might cause bugs like this one or https://bugs.openjdk.org/browse/JDK-8329983 as the build succeeds even if some symbols are not defined.
Openjdk builds successfully without it on amd64, i386, armhf, arm64, s390, ppc64el and riscv64 with this change[1]. riscv64 build was done locally inside vm:

Finished building target 'images' in configuration 'linux-riscv64-server-release'
ubuntu at ubuntu:~/jdk$ 

Unfortunately I do not know why it was introduced, so I might be missing something.
 
[1] https://launchpad.net/~vpa1977/+archive/ubuntu/october-21/+sourcepub/16076564/+listing-archive-extra

-------------

Commit messages:
 - do not allow undefined symbols in shared libraries
 - Merge remote-tracking branch 'origin/master' into JDK-8331541
 - Merge remote-tracking branch 'origin/master' into JDK-8331541
 - Remove spurious underscore

Changes: https://git.openjdk.org/jdk/pull/19048/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19048&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331541
  Stats: 2 lines in 2 files changed: 0 ins; 1 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/19048.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19048/head:pull/19048

PR: https://git.openjdk.org/jdk/pull/19048


More information about the hotspot-runtime-dev mailing list