FreeBSD The Power to Serve

GCC on FreeBSD

Contact: Lorenzo Salvadore <salvadore@FreeBSD.org>

The exp-run to update GCC default version from 13 to 14 is almost done at the time this report is written: only one last PR stays open. Hopefully, the update has been finally done when you are reading these lines. However I remind you that the latest GCC major version is GCC 15, so we will still be behind one version. Of course, another exp-run will be prepared to update GCC_DEFAULT to GCC 15, but not immediately. I will wait some time to ensure that the GCC_DEFAULT=14 update has indeed worked as expected and to deal with some other issues related to the GCC ports.

Another important change concerns bootstrapping. The GCC ports were in an inconsistent state: some ports required a bootstrap option to be chosen, while others did not. Now all GCC ports allow building without any bootstrap option selected, just as it was in the past.

The problem is that building GCC on FreeBSD with FreeBSD’s default compiler (clang) is not fully supported. Since I know that many users do prefer to build GCC without bootstrapping it, instead of enforcing it as I initially planned, I prefer to maintain the option but remove from a no-bootstrap build all features that cannot be built successfully. It shall be the users' responsibility to ensure that they do not need any feature incompatible with no-bootstrap builds.

At the moment, jit is the only feature that is excluded from a no-bootstrap build. The default bootstrap option is STANDARD_BOOTSTRAP, so users of packages from official FreeBSD packages repositories will have a full build with all the supported features available.


Last modified on: December 28, 2025 by Lorenzo Salvadore