From 97f027ce41ced23df556dea56f5d61db8c8b073a Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 13 Aug 2026 15:10:52 +0200 Subject: [PATCH] package/gcc: fortran support now requires MMU Since upstream commit c66d1ba685b0d03b28967d2f7a48f6c64687efa2 ("Fortran: Add a shared memory multi process coarray implementation [PR88076]"), libgfortran now unconditionally uses fork(), which makes it impossible to build Fortran support on noMMU architectures. In follow-up commit efb497c23a6f4109bf8794342617cbc161c08301, it was made even more clear: if you don't have fork() and you're not on WIN32: +#else +#error "no way known to start child processes." +#endif There are apparently no autobuilder failures for this issue, but the simple defconfig below allows to trigger the build failure: BR2_arm=y BR2_cortex_m7=y BR2_GCC_VERSION_16_X=y BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y Even though this issue is only starting from GCC 16.x, we make Fortran unavailable on noMMU configurations regardless of the GCC version, with the reasoning that: 1. Fortran on noMMU is unlikely to be in use 2. Moving forward, all future versions of GCC will have this restriction Cc: Romain Naour Signed-off-by: Thomas Petazzoni Signed-off-by: Julien Olivain --- package/gcc/Config.in.host | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index d8b89d942c..bc3223eb59 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -98,6 +98,8 @@ config BR2_TOOLCHAIN_BUILDROOT_FORTRAN # on architecture building libquadmath, wchar is required depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \ (BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR) + # requires fork() since gcc 16.x + depends on BR2_USE_MMU select BR2_TOOLCHAIN_HAS_FORTRAN help Enable this option if you want your toolchain to support the