-
Notifications
You must be signed in to change notification settings - Fork 184
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
Explicitly use the GNU binutils ld.bfd linker #8382
Explicitly use the GNU binutils ld.bfd linker #8382
Conversation
A new Pull Request was created by @fwyzard (Andrea Bocci) for branch IB/CMSSW_13_1_X/master. @cmsbuild, @smuzaffar, @aandvalenzuela, @iarspider can you please review it and eventually sign? Thanks. |
test parameters:
|
please test |
-1 Failed Tests: UnitTests The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic: You can see more details here: Unit TestsI found errors in the following unit tests: ---> test DRNTest had ERRORS Comparison SummarySummary:
|
The error is
so I assume it is unrelated to this PR. |
+externals |
This pull request is fully signed and it will be integrated in one of the next IB/CMSSW_13_1_X/master IBs (but tests are reportedly failing). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
please test for el8_ppc64le_gcc11 |
please test for el8_aarch64_gcc11 lets tests this change for non-x86_64 archs too |
-1 Failed Tests: UnitTests The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic: You can see more details here: Unit TestsI found errors in the following unit tests: ---> test CalibCalorimetryEcalLaserSortingRunStreamer had ERRORS ---> test DQMServicesStreamerIORunStreamer had ERRORS |
-1 Failed Tests: UnitTests The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: Unit TestsI found errors in the following unit tests: ---> test testONNXRuntime had ERRORS |
this looks good |
As we configure them, gcc and clang already use the GNU bfd linker by default (
ld
orld.bfd
, they are the same in our externals).Instead
hipcc
uses its version ofld.lld
by default.This can cause inker problems in some corner cases, for example when linking objects with weak
V
symbols with objects with uniqueu
symbols:ld.bfd
andld.gold
seem to handle that, whileld.lld
fails with a duplicate symbol error.Rather than changing how gcc and clang generate symbols, it looks like the problem can be fixed instructing
hipcc
to use the GNU bfd linker.This improves consistency with the rest of our build system, possibly avoiding other corner cases.
Setting the flag for gcc should propagate automatically to clang and hipcc, making sure all compilers consistently use the same linker.