Skip to content

binutils: 2.35.1 -> 2.38#134917

Merged
lovesegfault merged 22 commits intostagingfrom
binutils-2.37
Mar 29, 2022
Merged

binutils: 2.35.1 -> 2.38#134917
lovesegfault merged 22 commits intostagingfrom
binutils-2.37

Conversation

@lovesegfault
Copy link
Member

Motivation for this change

Hello binutils, my old friend
I've come to bump you again
Because a version softly creeping
Left its bugs while I was sleeping
And the patches that were planted in my brain
Still remains
Within the source of binutils

See also: #134916
See also: #118945

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • 21.11 Release Notes (or backporting 21.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@vcunat
Copy link
Member

vcunat commented Aug 20, 2021

Oh, I see that the 2.36.1 PR was kind of left behind. So you want to try the relatively new 2.37 directly? Some others have adopted it already, so perhaps it might be safe enough. I see nothing risky in the announcement: https://sourceware.org/pipermail/binutils/2021-July/117384.html

I reconfigured the previous jobset: https://hydra.nixos.org/jobset/nixpkgs/binutils-2.36

@Ma27
Copy link
Member

Ma27 commented Aug 20, 2021

FYI Fedora uses both bintuils 2.37 and glibc 2.34 (https://fedoraproject.org/wiki/Changes/GNUToolchainF35, #133431).

Since I had some very weird linker errors with glibc 2.34 (haven't taken a closer look yet due to time constraints), bintuils 2.37 may be needed to make it work properly :)

@vcunat
Copy link
Member

vcunat commented Aug 20, 2021

Yes, but e.g. that Fedora 35 will be released in October, so I can't see a guarantee that basically all (our) packages will work well now (or have patches available already).

@Ma27
Copy link
Member

Ma27 commented Aug 20, 2021

You're right, but I don't expect us to get ready with this (especially bintuils considering the last attempts) noticeably faster :)

@lovesegfault
Copy link
Member Author

Most failures seem to be due to libbfd which has a broken patch. Investigating.

@lovesegfault
Copy link
Member Author

The now-broken patch: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/misc/binutils/build-components-separately.patch

Looking at the source updating the patch is non-trivial, it'd be nice to have some help.

cc. @luc65r @Ericson2314

@ofborg ofborg bot added 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. labels Aug 20, 2021
@ofborg ofborg bot requested a review from Ericson2314 August 20, 2021 20:56
@ofborg ofborg bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Aug 20, 2021
@lovesegfault
Copy link
Member Author

Seems like there are more failures:

https://hydra.nixos.org/build/150347265/nixlog/1/tail

Which is caused by:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=981072

It seems that will need manual patching to replace ar clq with ar cl.

@TredwellGit
Copy link
Member

@github-actions github-actions bot added the 6.topic: stdenv Standard environment label Aug 21, 2021
@lovesegfault
Copy link
Member Author

lovesegfault commented Aug 21, 2021

See https://github.com/NixOS/nixpkgs/pull/118945/files for some fixes.

Awesome, incorporated those fixes.

Can you explain this patch? 8d0b634

I took it from the branch just in case, but not sure why it's needed

@ofborg ofborg bot requested review from AndersonTorres and veprbl August 21, 2021 21:26
@ofborg ofborg bot added the ofborg-internal-error Ofborg encountered an error label Aug 21, 2021
@lovesegfault
Copy link
Member Author

Rebased on top of b5398f4 / eval 1698102 and started eval 1698198.

Here's the comparison of both: https://hydra.nixos.org/eval/1698198?compare=1698102

@lovesegfault
Copy link
Member Author

@GrahamcOfBorg eval

lovesegfault and others added 20 commits March 28, 2022 18:50
Co-authored-by: TredwellGit <tredwell@tutanota.com>
Co-authored-by: John Ericson <git@JohnEricson.me>
Co-authored-by: TredwellGit <tredwell@tutanota.com>
Co-authored-by: TredwellGit <tredwell@tutanota.com>
Co-authored-by: TredwellGit <tredwell@tutanota.com>
Otherwise the patch application fails as:

    applying patch /nix/store/y0l0144l12q7jpq4jv735shgxv8ygxwh-build-components-separately.patch
    1 out of 3 hunks FAILED -- saving rejects to file opcodes/Makefile.am.rej
    1 out of 2 hunks FAILED -- saving rejects to file opcodes/configure.ac.rej
1 out of 2 hunks FAILED -- saving rejects to file opcodes/configure.ac.rej
@lovesegfault
Copy link
Member Author

Works on aarch64-darwin too. The change makes sense to me, but it would be good to have it reviewed in the context of the PR. @lovesegfault can you cherry pick the commit into this PR?

Done :)

@siraben
Copy link
Member

siraben commented Mar 29, 2022

Result of nixpkgs-review pr 134917 run on aarch64-darwin 1

1 package built:
  • binutils

@lovesegfault lovesegfault merged commit e2d150f into staging Mar 29, 2022
@lovesegfault lovesegfault deleted the binutils-2.37 branch March 29, 2022 17:16
@lovesegfault
Copy link
Member Author

Thanks everyone who helped along the way, it's cooking in staging now :)

@vcunat
Copy link
Member

vcunat commented Apr 19, 2022

It seems that cross-compilation suffered heavy losses due to the update: https://hydra.nixos.org/eval/1756232#tabs-now-fail

@trofi
Copy link
Contributor

trofi commented Apr 23, 2022

One more minor breakage on binutils-unwrapped{allTargets=true}. Proposed the fix as: #169907

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.severity: security Issues which raise a security issue, or PRs that fix one 6.topic: stdenv Standard environment 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.