Skip to content
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 [13.0.x] #8391

Conversation

fwyzard
Copy link
Contributor

@fwyzard fwyzard commented Mar 16, 2023

As we configure them, gcc and clang already use the GNU bfd linker by default (ld or ld.bfd, they are the same in our externals).

Instead hipcc uses its version of ld.lld by default.

This can cause inker problems in some corner cases, for example when linking objects with weak V symbols with objects with unique u symbols: ld.bfd and ld.gold seem to handle that, while ld.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.


Backport of #8382 to CMSSW_13_0_X to fix compilation problems with the ROCm backend for Alpaka.

@fwyzard
Copy link
Contributor Author

fwyzard commented Mar 16, 2023

backport #8382

@fwyzard
Copy link
Contributor Author

fwyzard commented Mar 16, 2023

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 16, 2023

A new Pull Request was created by @fwyzard (Andrea Bocci) for branch IB/CMSSW_13_0_X/master.

@smuzaffar, @aandvalenzuela, @iarspider can you please review it and eventually sign? Thanks.
@perrotta, @dpiparo, @rappoccio you are the release manager for this.
cms-bot commands are listed here

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-58f626/31339/summary.html
COMMIT: b6c4a26
CMSSW: CMSSW_13_0_X_2023-03-16-1100/el8_amd64_gcc11
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/8391/31339/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially removed 8 lines from the logs
  • Reco comparison results: 2 differences found in the comparisons
  • DQMHistoTests: Total files compared: 49
  • DQMHistoTests: Total histograms compared: 3551048
  • DQMHistoTests: Total failures: 0
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3551026
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 48 files compared)
  • Checked 213 log files, 164 edm output root files, 49 DQM output files
  • TriggerResults: no differences found

@smuzaffar
Copy link
Contributor

+externals

@cms-sw/orp-l2 , feel free to include it for next 13.0.X release

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next IB/CMSSW_13_0_X/master IBs (tests are also fine). 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)

@perrotta
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 0520c9b into cms-sw:IB/CMSSW_13_0_X/master Mar 21, 2023
@fwyzard fwyzard deleted the IB/CMSSW_13_0_X/master_use_ld_bfd branch March 22, 2023 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants