Re: F38 proposal: GNU Toolchain Update (gcc 13.0, binutils 2.39, glibc 2.37, gdb 12.1) (System-Wide Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux