[SERVER-26324] Ubuntu 16.4 ppc64le builder is linking with ld.gold Created: 26/Sep/16 Updated: 30/Nov/16 Resolved: 30/Nov/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Andrew Morrow (Inactive) | Assignee: | Andrew Morrow (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Operating System: | ALL |
| Sprint: | Platforms 2016-10-10, Platforms 2017-01-23 |
| Participants: |
| Description |
|
We don't build ld.gold as part of our toolchain build on non-x86 platforms (though, perhaps we should, but that is a separate issue). When we use our toolchain on RHEL, we do not use ld.gold, as expected: However, on Ubuntu 16.04, even though our toolchain doesn't contain ld.gold, the system does have /usr/bin/ld.gold. Since our toolchain can find an ld.gold by the default search path, our probe for support for -fuse-ld=gold succeeds, and we end up using it. We should either start building gold in our toolchain on all platforms so that we interpose on any available system ld.gold, or we should figure out how to suppress having our toolchain search the default search path for ld.gold, or we should suppress checking for -fuse-ld=gold support on platforms where we don't currently build gold in our toolchain. |
| Comments |
| Comment by Andrew Morrow (Inactive) [ 30/Nov/16 ] |
|
jbreams - I think that is a fair argument. It would be better for us to always build gold on systems where gold is installed as part of the system linker so that we shadow it. |
| Comment by Jonathan Reams [ 26/Sep/16 ] |
|
I'm not sure what to do here. I kind of disagree with the premise of this ticket. We aren't unexpectedly using gold, we're expecting to use gold no matter what, but we don't build it on all platforms because I couldn't get all its tests to pass on all platforms. I would be for trying to build gold on ppc64le and s390x again - maybe its gotten better in gcc 5.4. I don't think we should try to suppress using gold if its supported outside our toolchain. Do we know that gold is causing problems? If we do, then maybe we should reconsider using it by default at all. Perhaps our toolchain should set ld -> ld.gold by default rather than having to explicitly ask for it? |