[Bug 274109] java/openjdk17: fix build with lld 17

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 26 Sep 2023 15:30:17 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274109

            Bug ID: 274109
           Summary: java/openjdk17: fix build with lld 17
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: java@FreeBSD.org
          Reporter: dim@FreeBSD.org
             Flags: maintainer-feedback?(java@FreeBSD.org)
          Assignee: java@FreeBSD.org

Building java/openjdk8 with lld 17 results in the following link error:

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
'_ZTVZ26WB_AsyncHandshakeWalkStackE16TraceSelfClosure' 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
c++: error: linker command failed with exit code 1 (use -v to see invocation)

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.

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