Building java/openjfx14 with lld 17 results in the following link
errors:
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF6StringC1EPKtj' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF8LockBase8lockSlowEv' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF8LockBase10unlockSlowEv' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF10fastMallocEj' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF16fastZeroedMallocEj' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZNK3WTF10StringView23underlyingStringIsValidEv' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_addRangeImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_collapseImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_collapseToEndImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_collapseToStartImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_containsNodeImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_deleteFromDocumentImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_dispose' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_emptyImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_extendImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getAnchorNodeImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getAnchorOffsetImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getBaseNodeImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getBaseOffsetImpl' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getExtentNodeImpl' failed: symbol not defined
This is because lld 17 defaults to errors when undefined symbols are
referenced in linker version scripts. Suppress the errors since
openjfx14 is mostly unmaintained.
PR: 273753
MFH: 2023Q4
Building java/openjdk18 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: 273753
MFH: 2023Q4
Backport the patch from openjdk19 to fix the recently appearing error:
/wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_ppc/os_bsd_ppc.cpp:194:29: error: no member named 'is_safefetch_fault' in 'StubRoutines'
if (pc && StubRoutines::is_safefetch_fault(pc)) {
~~~~~~~~~~~~~~^
/wrkdirs/usr/ports/java/openjdk17/work/jdk17u-jdk-17.0.9-9-1/src/hotspot/os_cpu/bsd_ppc/os_bsd_ppc.cpp:195:52: error: no member named 'continuation_for_safefetch_fault' in 'StubRoutines'
os::Posix::ucontext_set_pc(uc, StubRoutines::continuation_for_safefetch_fault(pc));
~~~~~~~~~~~~~~^
Building java/openjdk17 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 '_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.
PR: 274109
Approved by: maintainer timeout (10 days)
MFH: 2023Q4
Building java/openjdk8 with lld 17 results in the following link error:
Making SA debugger back-end...
ld: error: version script assignment of 'SUNWprivate_1.1' to symbol 'ps_getpid' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.1' to symbol 'ps_lcontinue' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.1' to symbol 'ps_lgetxmmregs' failed: symbol not defined
ld: error: version script assignment of 'SUNWprivate_1.1' to symbol 'ps_lsetxmmregs' failed: symbol not defined
cc: 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. Since there are many of these in
openjdk 8, suppress the errors by adding -Wl,--undefined-version to the
--with-extra-ldflags configure option.
PR: 274106
Approved by: maintainer timeout (10 days)
MFH: 2023Q4
As like as HEAD(14.0-RELEASE) llvm16 was merged in base for 13.2-STABLE
with the OSVERSION 1302507.
- Utilize USE_CXXSTD=c++14 or similar solution where applicable
- Update conditionals to addtionally check for OSVERSION greater than
1302507 and less than 1400000
Approved by: portmgr (blanket)
Sponsored by: The FreeBSD Foundation