commit: 49140b422ed3c4517da95c2b29602f47e56d3ca4 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Sep 5 21:45:27 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Sep 5 21:46:35 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49140b42
dev-java/openjdk: don't use __attribute__((flatten)) (excessive mem use with LTO) Newer JDKs have a workaround: https://github.com/openjdk/jdk24u/blob/b42f146edb8324bbb164bb706e8ad39d60aaf25b/make/hotspot/lib/JvmOverrideFiles.gmk#L40 Closes: https://bugs.gentoo.org/960257 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-java/openjdk/files/openjdk-17.0.16_p8-lto-memory.patch | 13 +++++++++++++ dev-java/openjdk/openjdk-17.0.16_p8.ebuild | 5 ++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/dev-java/openjdk/files/openjdk-17.0.16_p8-lto-memory.patch b/dev-java/openjdk/files/openjdk-17.0.16_p8-lto-memory.patch new file mode 100644 index 000000000000..0b0253839810 --- /dev/null +++ b/dev-java/openjdk/files/openjdk-17.0.16_p8-lto-memory.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/960257 +https://gcc.gnu.org/PR77472 +--- a/src/hotspot/share/utilities/globalDefinitions_gcc.hpp ++++ b/src/hotspot/share/utilities/globalDefinitions_gcc.hpp +@@ -170,7 +170,7 @@ inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); } + // Inlining support + #define NOINLINE __attribute__ ((noinline)) + #define ALWAYSINLINE inline __attribute__ ((always_inline)) +-#define ATTRIBUTE_FLATTEN __attribute__ ((flatten)) ++#define ATTRIBUTE_FLATTEN + + // Alignment + // diff --git a/dev-java/openjdk/openjdk-17.0.16_p8.ebuild b/dev-java/openjdk/openjdk-17.0.16_p8.ebuild index dd115e04f630..49f9d2c87756 100644 --- a/dev-java/openjdk/openjdk-17.0.16_p8.ebuild +++ b/dev-java/openjdk/openjdk-17.0.16_p8.ebuild @@ -114,7 +114,10 @@ DEPEND=" ) " -PATCHES=( "${FILESDIR}/openjdk-17.0.16_p8-fixBuild_failure_with_glibc-2.42.patch" ) +PATCHES=( + "${FILESDIR}/openjdk-17.0.16_p8-fixBuild_failure_with_glibc-2.42.patch" + "${FILESDIR}/openjdk-17.0.16_p8-lto-memory.patch" +) # The space required to build varies wildly depending on USE flags, # ranging from 2GB to 16GB. This function is certainly not exact but
