From 2c9bffc2f3d272ebc5e3b3d3ad581c05cbdd67a9 Mon Sep 17 00:00:00 2001 From: "Z. Liu" Date: Tue, 25 Feb 2025 14:27:32 +0800 Subject: [PATCH] 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 Closes: https://github.com/gentoo/gentoo/pull/40746 Signed-off-by: Sam James --- 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 a7cad0a4da65d..2311722c03b2f 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() {