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

Daniel Jeliński djelinski at openjdk.org
Wed May 8 06:40:53 UTC 2024


On Thu, 2 May 2024 08:23:38 GMT, Vladimir Petko <vpetko at openjdk.org> wrote:

> 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.
> I am happy to drop it from this one or move it to a separate issue/pr.
>  
> [1] https://launchpad.net/~vpa1977/+archive/ubuntu/october-21/+sourcepub/16076564/+listing-archive-extra

Looks good to me. Mach5 and GHA agree that we don't need explicit `allow-shlib-undefined` anymore.

On a side note, our use of `.type` appears to serve no purpose other than introducing errors. Perhaps we could remove all the useless `.type` lines in a follow up PR.

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

Marked as reviewed by djelinski (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/19048#pullrequestreview-2044752790


More information about the build-dev mailing list