#7475 Changes/glibc 2.28, gcc 8.0, bintuils 2.30
Closed: Fixed 5 years ago Opened 5 years ago by codonell.

All Fedora releases must be released using a released and supported version of the core toolchain involving glibc, gcc, and binutils.

The Fedora toolchain team is responsible for ensuring that Fedora Rawhide stabilizes static linking, code generation, and library ABI, before a Fedora release, or that after the branch that the Fedora release is rebased (a very small rebase) to the final released version. This is a requirement for Fedora to inherit the ABI and API guarantees provided by upstream. If a mass rebuild is required by binutils, gcc, glibc or other components, the Fedora toolcahin team will ensure coordination with release engineering such that a mass rebuild uses the released version of all components and fix any last minute ABI or code-generation changes.

As of 2018-04-30 the Fedora toolchain team is requesting a mass rebuild for the Fedora 29 release.

Reasons given:

  • Fix LD_AUDIT / latrace developer tooling issues with binaries compiled without PLT/GOT entries. Recompilation should add back PLT/GOT entries required for developer tooling to work. This is coupled with the binutils mass rebuild.

Change page for review: https://fedoraproject.org/wiki/Changes/GLIBC228
Owner: Carlos O'Donell carlos@redhat.com
glibc mass rebuild request: This request.

Change page for review: https://fedoraproject.org/wiki/Changes/BINUTILS230
Owner: Nick Clifton nickc@redhat.com
binutils mass rebuild request: https://pagure.io/releng/issue/7282

Note that gcc 8 remains the gcc to be used in f29 and no mass rebuild is required for gcc 8 (checked with Jeff Law about this today 2018-04-30).
gcc mass rebuild request: Not needed.


Metadata Update from @mohanboddu:
- Issue tagged with: changes, f29

5 years ago

Metadata Update from @kellin:
- Issue tagged with: change-ack

5 years ago

RelEng acknowledges the change and we will include this in the mass rebuild.

Metadata Update from @kellin:
- Issue tagged with: mass rebuild

5 years ago

As part of the glibc 2.28 development upstream plans to change the ppc64le default ABI for long double from "IBM long double" to "IEEE 128-bit long double", this change is documented here:
https://fedoraproject.org/wiki/Changes/PPC64LE_Float128_Transition

We have a potential problem here in that the required changes may not be ready for 2018-07-11 mass rebuild per the current Fedora 29 schedule: https://fedoraproject.org/wiki/Releases/29/Schedule

I will keep this ticket updated as we make progress upstream with the work. Upstream may delay the ABI freeze by two weeks, which means an optimal mass rebuild might be a week later on 2018-07-18.

To be clear I am not requesting any change at this point. I am only providing a heads-up that there is a potential for a delay here or if it comes to it a complete cancellation of the float128 transition for ppc64le (which we wouldn't like to see, but there are deadlines).

@codonell Have you taken this to FESCo yet?

FESCo has to make the decision about delaying mass rebuild, not RelEng.

@codonell Have you taken this to FESCo yet?
FESCo has to make the decision about delaying mass rebuild, not RelEng.

I will be taking it to FESCo next, but I wanted to add a note in the official RelEng ticket for the mass rebuild, just to keep RelEng in the loop.

@codonell - thanks for the heads up - we greatly appreciate it.

FYI - I threw a note to @till to let him know this might be coming since he's on FESCo and has also been a release engineer.

@codonell - thanks for the heads up - we greatly appreciate it.
FYI - I threw a note to @till to let him know this might be coming since he's on FESCo and has also been a release engineer.

FESCo ticket filed:
https://pagure.io/fesco/issue/1925

IBM has delayed the float128 transition, so that will be one less thing to review during the mass rebuild. The mass rebuild is still required though. Thank you.

@mohanboddu , was glibc 2.28, gcc 8.0, and bintuils 2.30 included in the F29 mass rebuild?

The mass rebuild included:
binutils-2.30.90-4.fc29 (> 2.30, effectively 2.31.x)
gcc-8.1.1-5.fc29 (> gcc 8.0)
glibc-2.27.9000-38.fc29 (effectively 2.28, with final release August 1st)

So I think we met the criteria to build with glibc 2.28, gcc 8.0, and binutils 2.30, as close as we were every going to get with the overlapping schedules.

@codonell , okay great. Thanks for the update. I'll mark this ticket closed.

Metadata Update from @syeghiay:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

5 years ago

Login to comment on this ticket.

Metadata