On 12/30/22 14:12, Neal Gompa wrote: > 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)? gcc-rs is not capable of even compiling hello world, so it would be rather pointless to package it. Even once gcc-rs is finished, I suspect rustc-codegen-gcc will be a better long-term solution for architectures LLVM does not support, as it reuses the existing rustc frontend. -- Sincerely, Demi Marie Obenour (she/her/hers)
Attachment:
OpenPGP_0xB288B55FFF9C22C1.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ 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