[Bug 276425] java/openjdk21: does not compile on main-70445a8061

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 26 Jan 2024 22:24:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276425

--- Comment #9 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/ports/commit/?id=a1f91b22f1fc8ada691c47864c6365731cf8ef86

commit a1f91b22f1fc8ada691c47864c6365731cf8ef86
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-11-12 20:00:48 +0000
Commit:     Michael Osipov <michaelo@FreeBSD.org>
CommitDate: 2024-01-26 22:23:12 +0000

    java/openjdk{19,20,21}: fix build with lld 17

    Building java/openjdk{19,20,21} with lld 17 results in the following link
errors:

      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZ21WB_HandshakeWalkStackE16TraceSelfClosure' failed: symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZ24WB_HandshakeReadMonitorsE19ReadMonitorsClosure' failed: symbol not
defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZ26WB_AsyncHandshakeWalkStackE16TraceSelfClosure' failed: symbol not
defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZL20reinitialize_itablesvE18ReinitTableClosure' failed: symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZN12JvmtiEnvBase27check_for_periodic_clean_upEvE28ThreadInsideIterationClosure'
failed: symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZN15G1RemSetSummary6updateEvE11CollectData' failed: symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZN16SATBMarkQueueSet22set_active_all_threadsEbbE22SetThreadActiveClosure'
failed: symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZN16SATBMarkQueueSet23abandon_partial_markingEvE25AbandonThreadQueueClosure'
failed: symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZN18G1ConcurrentRefine30get_and_reset_refinement_statsEvE12CollectStats'
failed: symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZN19G1DirtyCardQueueSet12abandon_logsEvE23AbandonThreadLogClosure' failed:
symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZN19G1DirtyCardQueueSet16concatenate_logsEvE27ConcatenateThreadLogClosure'
failed: symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZN19G1DirtyCardQueueSet30get_and_reset_refinement_statsEvE12CollectStats'
failed: symbol not defined
      ld: error: version script assignment of 'SUNWprivate_1.1' to symbol
'_ZTVZN7Threads25change_thread_claim_tokenEvE11ResetClaims' failed: symbol not
defined

    This is because lld 17 defaults to errors when undefined symbols are
    referenced in linker version scripts. The problem is due to the Makefile
    JvmMapfile.gmk, which generates a linker version script. It uses "nm
    --defined-only" to dump symbols in object files, but this also includes
    local (hidden) symbols. Add "--extern-only" to make it only dump global
    symbols.

    PR:             276425
    Approved by:    otis (mentor), dim
    MFH:            2024Q1
    Differential Revision:  https://reviews.freebsd.org/D43620

 .../patch-make_hotspot_lib_JvmMapfile.gmk (new)      | 20 ++++++++++++++++++++
 .../patch-make_hotspot_lib_JvmMapfile.gmk (new)      | 20 ++++++++++++++++++++
 .../patch-make_hotspot_lib_JvmMapfile.gmk (new)      | 20 ++++++++++++++++++++
 3 files changed, 60 insertions(+)

-- 
You are receiving this mail because:
You are the assignee for the bug.