On Fri, Dec 30, 2022 at 2:02 PM Ben Cotton <bcotton@xxxxxxxxxx> wrote: > > https://fedoraproject.org/wiki/Changes/GNUToolchainF38 > > This document represents a proposed Change. As part of the Changes > process, proposals are publicly announced in order to receive > community feedback. This proposal will only be implemented if approved > by the Fedora Engineering Steering Committee. > > > == Summary == > Update the Fedora 38 GNU Toolchain to gcc 13.0, binutils 2.39, and glibc 2.37. > > The existing gdb 12.1 will be used as-is. > > The set of core GNU Toolchain packages for Fedora 38 are as follows: > > * GNU C Compiler 13.0 > ** Associated runtimes for C++ (libstdc++), Go (gccgo), OpenMP (gomp), > Fortran (gfortran), D (phobos), Objective C/C++. > * GNU Binary Utilities 2.39 > * GNU C Library 2.37 > * GNU Debugger 12.1 (immediately available in Fedora 37) > > The gcc 13.0 change will be tracked in this top-level GNU Toolchain > system-wide update. > > The binutils 2.39 change will be tracked in this top-level GNU > Toolchain system-wide update. > > The glibc 2.37 change will be tracked in this top-level GNU Toolchain > system-wide update. > > == Owner == > * Name: [[User:codonell|Carlos O'Donell]] > * Email: carlos@xxxxxxxxxx > > > == Detailed Description == > The GNU Compiler Collection, GNU Binary Utilities, GNU C Library, and > the GNU Debugger make up the core part of the GNU Toolchain and it is > useful for our users to transition these components as a complete > implementation when making a new release of Fedora. > > The GNU Compiler Collection is expected to release version 13.0, after > the Fedora 38 release. It will contain many new features, documented > here: https://gcc.gnu.org/gcc-13/changes.html. The latest release > candidate for gcc 13 will be included in Fedora 38 and will be updated > when released. > > The GNU Binutils version 2.39 was released before Fedora 38; and we > have already been using this version of binutils in Fedora Rawhide > successfully to build the distribution for the last 4 months. Given > the present schedule for Fedora 38 we will continue to use Binutils > 2.39. > > The GNU C Library version 2.37 is expected to be release before Fedora > 38; we have started closely tracking the glibc 2.37 development code > in Fedora Rawhide and are addressing any issues as they arise. Given > the present schedule Fedora 38 will branch after the release of glibc > 2.37. However, the mass rebuild schedule means Fedora 38 will mass > rebuild (if required) before the final release of glibc 2.37, but > after the ABI is frozen. > > The GNU Debugger version 12.1 was released before Fedora 38; and we > plan to continue to use this version of the debugger. > > == Benefit to Fedora == > Stays up to date with latest features, improvements, security and bug > fixes from gcc, glibc, binutils, and gdb upstream. > > The goal is to track and transition to the latest components of the > GNU Toolchain. > > == Scope == > * Proposal owners: Fedora Toolchain Team (gcc, glibc, binutils, gdb, > ...) developers need to ensure that gcc, glibc, binutils, and gdb in > rawhide are stable and ready for the Fedora 38 branch. > > * Other developers: Given that glibc is backwards compatible and we > have been testing the new glibc in rawhide it should make very little > impact when updated, except for the occasional deprecation warnings > and removal of legacy interfaces from public header files. > > * Release engineering: A mass rebuild is strongly encouraged; > [https://pagure.io/releng/issue/XX #XX] > ** Filed after approval. > > * Policies and guidelines: N/A (not needed for this Change) > * Trademark approval: N/A (not needed for this Change) > * Alignment with Objectives: N/A > > > > == Upgrade/compatibility impact == > The compiler, the static linker and the the library are backwards > compatible with the previous version of Fedora. > > Some source changes may be required for the gcc 13 update. Please > refer to the latest changes here: > https://gcc.gnu.org/gcc-13/changes.html > > Any source level changes required for glibc 2.37 will be noted here: > https://sourceware.org/glibc/wiki/Release/2.37#Packaging_Changes > > == How To Test == > The GNU Compiler Collection has its own testsuite which is run during > the package build and examined by the gcc developers before being > uploaded. > > The GNU C Library has its own testsuite which is run during the > package build and examined by the glibc developers before being > uploaded. This test suite has over 6200 tests that run to verify the > correct operation of the library. In the future we may also run the > microbenchmark to look for performance regressions. > > The GNU Binutils has its own testsuite which is run during the package > build and examined by binutils developers before being uploaded. The > regression testsuite is run to verify the correct operation of the > static linker and attendant utilities. > > The GNU Debugger has its own testsuite which is run during the package > build and examined by gdb developers before being uploaded. The > regression testsuite is run to verify the correct operation of the > debugger. > > == User Experience == > Fedora developers as well as developers using the distribution will be > able to use and develop using the new features offered by the updated > components. Developers will need to enable specific compiler features > as required e.g. '-mcpu=neoverse-v2'. > > == Dependencies == > All packages do not need to be rebuilt due to backwards compatibility. > However, it is advantageous if a mass rebuild is performed during the > Fedora 38 cycle. The mass rebuild would ensure all packages can be > built with the newer compiler and core runtime. > > == Contingency Plan == > > * Contingency mechanism glibc: If glibc 2.37 proves too disruptive to > compiling the distribution we could revert to 2.36, but given that > Rawhide has started tracking glibc 2.37, no show-stopper problems are > expected. At this point we can still revert to upstream version 2.36 > if insurmountable problems appear, but to do so may require a mass > rebuild to remove new symbols from the ABI/API. > > * Contingency mechanism binutils: If binutils 2.39 proves too > distruptive to assembling and linking the distribution we could revert > to 2.38, but given that Rawhide is using 2.39, no show-stopper > problems are expected. At this point we can still revert if > insurmountable problems appear, but to do so may require a mass > rebuild if the defects involve generated binaries. > > * Contingency mechanism for gcc: If gcc 13 proves too disruptive to > compiling the distribution we could revert to gcc 12. > > * Contingency mechanism for gdb: The gdb 12.1 release is already in > all the Fedora releases and it would not be reverted. If any gcc, > glibc or binutils changes cause gdb to fail then that would need to be > reviewed on a case-by-case basis. > > > * Contingency deadline: Fedora mass rebuild on 2023-01-18. > * Blocks release? > ** Yes, upgrading to gcc 13.0 does block the release. > ** Yes, upgrading to binutils 2.39 does block the release. > ** Yes, upgrading to glibc 2.37 does block the release. > ** No, upgrading to gdb 12.1 does block the release (already released). > > > == Documentation == > The gcc manual contains the documentation for the release and doesn't > need any more additional work. > > The binutils manual contains the documentation for the release and > doesn't need any more additional work. > > The glibc manual contains the documentation for the release and > doesn't need any more additional work. > > The gdb manual contains the documentation for the release and doesn't > need any more additional work. > > > == Release Notes == > <!-- Use this text for GCC updates: --> > > See https://gcc.gnu.org/gcc-13/changes.html for the GNU Compiler > Collection version 13 release notes. > > <!-- Use this text for GLIBC updates: --> > The GNU C Library version 2.37 will be released at the beginning of > February 2023. The current NEWS notes can be seen here as they are > added: https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;hb=HEAD > > The GNU Binary Utilities version 2.39 was released August 2022. The > current release notes will be sent to the developer mailing list: > https://sourceware.org/pipermail/binutils/2022-August/122246.html. > Can we please have gcc-rs also built (even though it's experimental)? -- 真実はいつも一つ!/ Always, there's only one truth! _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue