commit:     c79be6d69533e45fb077c952085eb2dd38b3a745
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 25 01:44:54 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Thu Mar 25 01:46:32 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c79be6d6

dev-java/openjdk: revbump 8, fix build with gcc10

_ZN14ArrayAllocatorImL10MemoryType7EE4freeEv: symbol not found
Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 .../files/openjdk-8-insantiate-arrayallocator.patch      | 16 ++++++++++++++++
 ...njdk-8.282_p08.ebuild => openjdk-8.282_p08-r1.ebuild} |  2 ++
 2 files changed, 18 insertions(+)

diff --git a/dev-java/openjdk/files/openjdk-8-insantiate-arrayallocator.patch 
b/dev-java/openjdk/files/openjdk-8-insantiate-arrayallocator.patch
new file mode 100644
index 00000000000..ba5283f1577
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-8-insantiate-arrayallocator.patch
@@ -0,0 +1,16 @@
+Workarounds build error:
+Error: dl failure on line 895
+Error relocating .../libjvm.so: _ZN14ArrayAllocatorImL10MemoryType7EE4freeEv: 
symbol not found
+
+Possibly due to g++ 10.x error on not properly instantiating the template.
+
+--- openjdk/hotspot/src/share/vm/utilities/bitMap.cpp.orig     2020-11-10 
14:07:08.372045326 +0200
++++ openjdk/hotspot/src/share/vm/utilities/bitMap.cpp  2020-11-10 
14:08:07.911412813 +0200
+@@ -42,6 +42,7 @@
+ # include "os_bsd.inline.hpp"
+ #endif
+ 
++template class ArrayAllocator<BitMap::bm_word_t, mtInternal>;
+ 
+ BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) :
+   _map(map), _size(size_in_bits), _map_allocator(false)

diff --git a/dev-java/openjdk/openjdk-8.282_p08.ebuild 
b/dev-java/openjdk/openjdk-8.282_p08-r1.ebuild
similarity index 99%
rename from dev-java/openjdk/openjdk-8.282_p08.ebuild
rename to dev-java/openjdk/openjdk-8.282_p08-r1.ebuild
index 093a181abbf..88eb48ba9b1 100644
--- a/dev-java/openjdk/openjdk-8.282_p08.ebuild
+++ b/dev-java/openjdk/openjdk-8.282_p08-r1.ebuild
@@ -91,6 +91,8 @@ DEPEND="
 
 PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
 
+PATCHES=( "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch" )
+
 # The space required to build varies wildly depending on USE flags,
 # ranging from 2GB to 16GB. This function is certainly not exact but
 # should be close enough to be useful.

Reply via email to