-
Notifications
You must be signed in to change notification settings - Fork 303
don't use gold linker by default for GCC >= 11.3 #2711
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Gold is suffering from bitrot, it's better to use ld.bfd by default as most Linux distributions are doing. Fixes easybuilders#2657
|
Just my two cents, since I saw some of @boegel 's questions in #2657 : I think the approach in this PR is good, since it doesn't change existing behaviour. I.e. if I reinstall something for an older toolchain (GCC < 11.3) I'd like to not change the behaviour if we can help it. I'm curious though @bartoldeman : did you already do some tests to see if using |
|
We used the bfd linker very extensively before with the Nix-based stack (mainly with gcc 5.4.0 and gcc 7.3.0), and I don't remember any issues. It doesn't hurt to test but I think we can just take the plunge during develop and if things really turn out badly we can always revert. rocm-smi, MariaDB, libunwind are others that need to use |
|
Well I guess I'll need to take it back for now, @boegelbot does not look happy! |
|
#2712 fixes the issue with binutils. |
|
Ok, despite the unforeseen I checked that now works, and it does for me on both our clusters. I see it also completed succesfully on generoso. I'll rerun it with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Switching to ld.bfd since ld.gold suffers from bitrot seems like a reasonable approach. Current implementation leaves previous behaviour untouched, which makes the most sense to me.
Some issues are to be expected when we add new EasyConfigs (such as the binutils issue in #2712), but since other projects are already using ld.bfd by default, we can expect most of these to be EasyBuild specific - and thus within our circle of influence to solve. However, since we want to make sure this is the default from the moment GCC-11.3.0 is in EasyBuild, we shouldn't want too long and thus extensive testing is not really an option.
All in all, I say: looks good to me :)
|
Test report by @casparvl Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
|
Thanks, yes, indeed the binutils issue looks like a corner case, something that exposed actually exposed a (mostly harmless) bug (GCCcore binutils linking libiberty from system binutils). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
|
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 2 out of 2 (2 easyconfigs in total) |
Gold is suffering from bitrot, it's better to use ld.bfd by default
as most Linux distributions are doing.
Fixes #2657