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

sys-boot/refind: fix compilation with clang #32710

Closed
wants to merge 1 commit into from

Conversation

ceamac
Copy link
Contributor

@ceamac ceamac commented Sep 10, 2023

  • Compiling with clang works.
  • Linking with lld produces broken executables (including the drivers). I think it drops some relocations and the gnu-efi stub cannot process what's left, so it gets stuck. It hangs even if one driver is linked with ld.lld.
  • llvm-objcopy does not support the output format needed by refind. At least in this case the build fails, it does not produce a broken executable.

Related bugs:

@gentoo-bot gentoo-bot added self-maintained The PR changes only packages that are maintained by the submitter (i.e. no need to ask anybody else) assigned PR successfully assigned to the package maintainer(s). labels Sep 10, 2023
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2023-09-10 14:10 UTC
Newest commit scanned: 5f85f77
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/44a419f4bf/output.html

Copy link
Member

@thesamesam thesamesam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would always try to perserve the PR message details inside the commit message (although your commit message isn't bad, except for missing the Bug: tags).

sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
sys-boot/refind/refind-0.14.0.2-r1.ebuild Outdated Show resolved Hide resolved
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2023-09-10 14:35 UTC
Newest commit scanned: 836d1e1
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/0484995835/output.html

@ceamac
Copy link
Contributor Author

ceamac commented Sep 10, 2023

What should I do about the bugs? Should I close them as WONTFIX or FIXED? Because in the end it cannot be built with lld or with llvm-objcopy, I only check them and try binutils.

@thesamesam
Copy link
Member

I'd say Bug: then WONTFIX?

@ceamac ceamac changed the title sys-boot/refind: fix compilation with clang sys-boot/refind: fix compilation with clang [please reassign] Sep 10, 2023
@gentoo-bot gentoo-bot changed the title sys-boot/refind: fix compilation with clang [please reassign] sys-boot/refind: fix compilation with clang Sep 10, 2023
@gentoo-bot
Copy link

Pull Request assignment

Submitter: @ceamac
Areas affected: ebuilds
Packages affected: sys-boot/refind

sys-boot/refind: @ceamac, @sveyret, @gentoo/proxy-maint

Linked bugs

Bugs linked: 732256, 832018, 881131


In order to force reassignment and/or bug reference scan, please append [please reassign] to the pull request title.

Docs: Code of ConductCopyright policy (expl.) ● DevmanualGitHub PRsProxy-maint guide

@gentoo-bot gentoo-bot added self-maintained The PR changes only packages that are maintained by the submitter (i.e. no need to ask anybody else) assigned PR successfully assigned to the package maintainer(s). bug linked Bug/Closes found in footer, and cross-linked with the PR. and removed assigned PR successfully assigned to the package maintainer(s). self-maintained The PR changes only packages that are maintained by the submitter (i.e. no need to ask anybody else) labels Sep 10, 2023
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2023-09-10 18:40 UTC
Newest commit scanned: 5e2be34
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/a266f82194/output.html

Compiling with clang works.
Linking with lld produces broken executables (including the drivers).
llvm-objcopy does not support the output format needed by refind.

Try to force ld.bfd and binutils objcopy.  Fail otherwise.

Bug: https://bugs.gentoo.org/732256
Bug: https://bugs.gentoo.org/832018
Bug: https://bugs.gentoo.org/881131
Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2023-09-11 05:30 UTC
Newest commit scanned: ccf5902
Status: ✅ good

There are existing issues already. Please look into the report to make sure none of them affect the packages in question:
https://qa-reports.gentoo.org/output/gentoo-ci/d7ac8dc193/output.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assigned PR successfully assigned to the package maintainer(s). bug linked Bug/Closes found in footer, and cross-linked with the PR. self-maintained The PR changes only packages that are maintained by the submitter (i.e. no need to ask anybody else)
Projects
None yet
5 participants