GCC on FreeBSD
Links:
GCC Project URL: https://gcc.gnu.org/
GCC 10 release series
URL: https://gcc.gnu.org/gcc-10/
GCC 11 release series
URL: https://gcc.gnu.org/gcc-11/
GCC 12 release series
URL: https://gcc.gnu.org/gcc-12/
GCC 13 release series
URL: https://gcc.gnu.org/gcc-13/
Contact: Lorenzo Salvadore <salvadore@FreeBSD.org>
Upstream has released GCC 13. As announced in the past status report, I plan to attempt an update of GCC_DEFAULT right from the first GCC 13 release, thus much of this quarter’s work has been in preparation of this.
With the release of GCC 13.1 (first GCC 13 release: I remind that GCC counts minor version releases starting from 1), two new ports have been created in the ports tree:
-
lang/gcc13, tracking GCC 13 releases;
-
lang/gcc14-devel, tracking snapshots from the new GCC 14 upstream branch.
The *-devel ports
Support for .init_array and .fini_array has been enabled. FreeBSD supports both since commit 83aa9cc00c2d.
The default bootstrap option on i386, amd64, and aarch64 has been reverted from LTO_BOOTSTRAP to STANDARD_BOOTSTRAP:
-
LTO bootstrap produces too many failures on the package builders for those architectures
-
LTO_BOOTSTRAP remains available for users who want it.
Those changes will be forwarded to the production ports.
The production ports
Upstream has released GCC 13, for which the new port lang/gcc13 has been created. GCC 11 and GCC 12 have been updated upstream and a new release of GCC 10 is planned. All corresponding ports now need to be updated.
To ease the work of both ports maintainers and users, I plan to test and update together all the following changes:
-
updates of lang/gcc10, lang/gcc11, lang/gcc12;
-
update of GCC_DEFAULT to 13;
-
enabling of .init_array and .fini_array on the production ports;
-
switching back from LTO_BOOTSTRAP to STANDARD_BOOTSTRAP on the production ports.
This will provide the following advantages:
-
more testing with less exp-runs;
-
fewer builds for ports users.
Last modified on: July 25, 2023 by Lorenzo Salvadore