Summary: | sys-libs/compiler-rt-19.1.3-r1 - /.../atomic.c: error: implicit declaration of function _c11_atomic_store | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | LLVM support project <llvm> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | mgorny, mojyack, tero, vadorovsky, xavier.miller |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://github.com/gentoo/gentoo/pull/39260 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 911340 | ||
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.clang.tar.xz etc.portage.tar.xz logs.tar.xz qlist-info.txt sys-libs:compiler-rt-19.1.3-r1:20241109-104218.log temp.tar.xz |
Description
Toralf Förster
2024-11-09 10:51:58 UTC
Created attachment 908249 [details]
emerge-info.txt
Created attachment 908250 [details]
emerge-history.txt
Created attachment 908251 [details]
environment
Created attachment 908252 [details]
etc.clang.tar.xz
Created attachment 908253 [details]
etc.portage.tar.xz
Created attachment 908254 [details]
logs.tar.xz
Created attachment 908255 [details]
qlist-info.txt
Created attachment 908256 [details]
sys-libs:compiler-rt-19.1.3-r1:20241109-104218.log
Created attachment 908257 [details]
temp.tar.xz
Maybe we should enable the builtin only when compiled with clang, like freebsd does. https://github.com/gentoo/gentoo/pull/39168#issuecomment-2463963941 Trying to reproduce the issue right now, but if we confirm that's happening only with GCC, then I would lean towards having the USE flag and enabling it in LLVM profiles. (In reply to vadorovsky from comment #11) > Trying to reproduce the issue right now, but if we confirm that's happening > only with GCC, then I would lean towards having the USE flag and enabling it > in LLVM profiles. Just curious, why is just using tc-is-clang not sufficient? same error with sys-libs/compiler-rt-18.1.8-r2:18 (In reply to mojyack from comment #12) > (In reply to vadorovsky from comment #11) > > Trying to reproduce the issue right now, but if we confirm that's happening > > only with GCC, then I would lean towards having the USE flag and enabling it > > in LLVM profiles. > > Just curious, why is just using tc-is-clang not sufficient? I think it'd be actually sufficient. The argument against it would be that mutating the image based on the compiler used like this might be undesirable, but given the special case of what the package is and what the atomic stuff is for, it should be fine. Just noticed that there is a `clang` USE flag already in compiler-rt ebuilds already, which is used to enforce clang usage on GCC systems. It can be disabled on LLVM profiles. I think it would be the best to just guard `-DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF` with it. Let me test it. I'll make a PR once I confirm it works. (In reply to vadorovsky from comment #16) > Just noticed that there is a `clang` USE flag already in compiler-rt ebuilds > already, which is used to enforce clang usage on GCC systems. It can be > disabled on LLVM profiles. I think it would be the best to just guard > `-DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF` with it. > > Let me test it. I'll make a PR once I confirm it works. It **CAN'T** be disabled on LLVM profiles, sorry for the typo I think it'd be confusing to have this dependent on USE=clang that serves another purpose. Perhaps we should add IUSE=atomic that requires USE=clang. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=066df5677a706878b18665db183c72bac6302030 commit 066df5677a706878b18665db183c72bac6302030 Author: Michal Rostecki <vadorovsky@protonmail.com> AuthorDate: 2024-11-10 12:06:29 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2024-11-10 17:42:41 +0000 sys-libs/compiler-rt: Provide `atomic-builtins` IUSE flag Atomic builtins fail to build with GCC. Furthermore, they are not needed on systems with GCC, because libatomic can be used on them. Atomic builtins are mostly useful on LLVM-based systems. Guard them behind the `atomic-builtins` IUSE flag. That flag depends on `clang`. Bug: https://bugs.gentoo.org/943129 Signed-off-by: Michal Rostecki <vadorovsky@protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/39260 Signed-off-by: Michał Górny <mgorny@gentoo.org> sys-libs/compiler-rt/compiler-rt-15.0.7-r2.ebuild | 5 +++-- sys-libs/compiler-rt/compiler-rt-16.0.6-r6.ebuild | 5 +++-- sys-libs/compiler-rt/compiler-rt-17.0.6-r2.ebuild | 5 +++-- sys-libs/compiler-rt/compiler-rt-18.1.8-r2.ebuild | 5 +++-- sys-libs/compiler-rt/compiler-rt-19.1.3-r1.ebuild | 5 +++-- sys-libs/compiler-rt/compiler-rt-20.0.0.9999.ebuild | 5 +++-- sys-libs/compiler-rt/metadata.xml | 11 +++++++++-- 7 files changed, 27 insertions(+), 14 deletions(-) |