FS#72660 - [binutils] v2.36 gold linker unable to link some dwarf5 enabled objects

Attached to Project: Arch Linux
Opened by Alex Dubov (oakad) - Monday, 08 November 2021, 03:08 GMT
Last edited by freswa (frederik) - Sunday, 20 February 2022, 20:34 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Giancarlo Razzolini (grazzolini)
freswa (frederik)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

There's a pretty serious bug in binutils prior to v2.37 which breaks quite a bit of the less trivial C++ builds when -gdwarf5 is enabled (and it is enabled by default on gcc 11).

https://sourceware.org/bugzilla/show_bug.cgi?id=27246

As this bug is resulting in ICE for builds, I think it is imperative to bump the binutils versions. The package had been marked for upgrade for quite some time already.
This task depends upon

Closed by  freswa (frederik)
Sunday, 20 February 2022, 20:34 GMT
Reason for closing:  Works for me
Additional comments about closing:  Can't reproduce with binutils 2.38
Comment by loqs (loqs) - Monday, 08 November 2021, 04:36 GMT
I believe the plan was to do a full toolchain rebuild [1] but a number of issues in glibc and gcc need additional commits from their release branches [2][3].

[1] https://bbs.archlinux.org/viewtopic.php?pid=1999299#p1999299
[2] https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/release/2.34/master
[3] https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/releases/gcc-11
Comment by Michel Koss (MichelKoss1) - Monday, 08 November 2021, 21:20 GMT
Some distros like fedora build from the tip of release branches so they don't have to get fixes manually.
Comment by loqs (loqs) - Monday, 08 November 2021, 22:44 GMT
MichelKoss1 I am currently using pinned commits from the release branches
binutils f728a39abc12739ba839f98d4ff0654aa36b9990 with --disable-gdbserver and --disable-sim to remove conflicting files
gcc d6eb130beac78468f7b590c37668d6a834c2a063
glibc cf8c6a634c0a04a9f5d198ef05310f85f7338839

Only issue I have encountered so far is /usr/lib/initcpio/install/systemd provided by systemd needed updating to remove the line
add_binary "$(readlink -f /usr/lib/libnss_files.so)"
which is no longer provided as libnss_files.so.2 is an empty placeholder with the contents moved to the main libc.
Comment by Cookie Engineer (cookiengineer) - Thursday, 30 December 2021, 18:23 GMT
*bump*

Are binutils upgraded anytime soon?

The relevant patch that fixes the bugs with DWARF5 has been out since 27th January: https://sourceware.org/pipermail/binutils/2021-January/115122.html

Building anything serious on binutils 2.36 is kinda breaking in the linking step, e.g. (in my case) webkit2gtk cannot be built.
Would be awesome if we could upgrade to binutils 2.37 soon, as binutils 2.36 is broken anyways.
Comment by freswa (frederik) - Thursday, 10 February 2022, 01:01 GMT
Can you recheck with binutils-2.38 in [testing]?

Loading...