Hi, Thank you for the feedback!!! I will open an issue on JBS and work on it.
Best Regards, Vladimir. On Fri, Aug 18, 2023 at 2:29 AM <erik.joels...@oracle.com> wrote: > > Hello Vladimir, > > I just checked and the toolchain we use on Linux at Oracle (produced by > the make/devkit scripts) isn't setting --as-needed either (while the > local toolchain on my Ubuntu machine does). From my understanding of > that flag, it's not something we really want to be set. It would be > better to identify libraries that we don't actually need and stop > linking against them. If setting --no-as-needed helps fixing this issue, > then that seems like a reasonable workaround to me. > > /Erik > > On 8/16/23 21:44, Vladimir Petko wrote: > > Hi, > > > > It looks like Adoptium is building with CentOS 6.10[1] which does not > > append --as-needed linker flag by default. This results in the > > .gnu_version section created and the bug worked around with Temurin > > builds. > > In Debian/Ubuntu the toolchain automatically uses -as-needed by > > default so we've forced the --no-as-needed flag recently[2] to resolve > > this issue[3]. > > I wonder if it is an acceptable solution to add '--no-as-needed' to > > BASIC_LDFLAGS in make/autoconf/flags-ldflags.m4 to have consistent > > linking? > > > > Best Regards, > > Vladimir. > > > > [1] > > https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk17u/job/jdk17u-linux-x64-temurin/lastBuild/consoleFull > > [2] > > https://salsa.debian.org/openjdk-team/openjdk/-/commit/b9b80f7da869be0ee42fbb2dd18486b7b0a1826c > > [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1031521 > > > > On Thu, Jun 29, 2023 at 7:06 PM David Holmes <david.hol...@oracle.com> > > wrote: > >> Hi Vladimir, > >> > >> This is not the first time this has come up: > >> > >> https://mail.openjdk.org/pipermail/build-dev/2020-February/026730.html > >> > >> but no real resolution. > >> > >> David > >> > >> On 27/06/2023 6:31 pm, Vladimir Petko wrote: > >>> Dear Maintainers, > >>> > >>> There is a bug[1] submitted in Debian that a number of games crash > >>> with the assertion > >>> > >>> Inconsistency detected by ld.so: dl-lookup.c: 107: check_match: > >>> Assertion `version->filename == NULL || ! _dl_name_match_p > >>> (version->filename, map)' failed! > >>> > >>> The investigation points to JAWT_GetAWT function from libjawt.so. > >>> > >>> In Java 8 the build system supplied a mapfile which set the symbol > >>> version for JAWT_GetAWT. It is no longer the case for Java 11+ due > >>> to JDK-8200178. > >>> If the native library was linked against Java 8 (e.g. lwjgl 2.x) then > >>> it would be linking against the versioned symbol. > >>> The assertion in the loader only fires when the version section > >>> (.gnu.version) is absent, otherwise the loader provides the default > >>> version of the function. This allows Temurin builds to work with those > >>> games. > >>> > >>> I wonder if some of the map files could be reverted for the > >>> compatibility reasons with Java 8, or it is not a recommended > >>> approach? > >>> > >>> [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1031521