commit:     2c9bffc2f3d272ebc5e3b3d3ad581c05cbdd67a9
Author:     Z. Liu <zhixu.liu <AT> gmail <DOT> com>
AuthorDate: Tue Feb 25 06:27:32 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr  3 15:26:00 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c9bffc2

dev-java/openjdk: force gcc for openjdk 8

despite we have workaround "-std=gnu++14", but openjdk 8 doesn't fully
respect CXXFLAGS in various places and that patching that in now is a bit
risky given JDK 8 is so old.

e.g., see hotspot/make/linux/makefiles/adlc.make, CXXFLAGS defined by:

61 # set flags for adlc compilation
62 CXXFLAGS = $(SYSDEFS) $(INCLUDES)
63
64 # Force assertions on.
65 CXXFLAGS += -DASSERT

Bug: https://bugs.gentoo.org/918655
Signed-off-by: Z. Liu <zhixu.liu <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/40746
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-java/openjdk/openjdk-8.442_p06.ebuild | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/dev-java/openjdk/openjdk-8.442_p06.ebuild 
b/dev-java/openjdk/openjdk-8.442_p06.ebuild
index a7cad0a4da65..2311722c03b2 100644
--- a/dev-java/openjdk/openjdk-8.442_p06.ebuild
+++ b/dev-java/openjdk/openjdk-8.442_p06.ebuild
@@ -96,6 +96,7 @@ DEPEND="
 
 BDEPEND="
        virtual/pkgconfig
+       sys-devel/gcc:*
 "
 
 PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
@@ -156,6 +157,15 @@ src_prepare() {
                hotspot/make/linux/makefiles/gcc.make || die
 
        chmod +x configure || die
+
+       # Force gcc because build failed with modern clang, #918655
+       if ! tc-is-gcc; then
+                       ewarn "openjdk/8 can be built with gcc only."
+                       ewarn "Ignoring CC=$(tc-getCC) and forcing ${CHOST}-gcc"
+                       export CC=${CHOST}-gcc
+                       export CXX=${CHOST}-g++
+                       tc-is-gcc || die "tc-is-gcc failed in spite of CC=${CC}"
+       fi
 }
 
 src_configure() {

Reply via email to