-
Notifications
You must be signed in to change notification settings - Fork 9
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
Handle missing riscv64-unknown-linux-gnu #87
Comments
If we do want to filter, what we need to figure out is if there's a way to get the valid list of targets that the compiler has enabled. (I don't understand actually why |
Or hmm, we could add a |
The error you're getting is because RHEL's LLVM does not have the RISC-V target arch enabled, so it can't initialize the backend. The rest of the triple doesn't matter in this case, just the arch, so for example you could examine targets like
Yes, but I think this is unavoidable. Cargo
I don't know any way that this is exposed by rustc, apart from just trying it, but you can use
That's not so bad either, because that list doesn't change very often. Maybe you don't even need to distinguish y-stream, because if we add a new arch, new vendorers are probably only working on the latest. I don't know that you need an intersection with tier-2 either -- you could consider |
This issue started because someone wanted to build rpm-ostree on c9s (going through the vendor-filter path). The more I think about this the more I think there are two separate paths:
So I think the fix is probably like:
We actually may want a |
That set of strings looks totally different from the target triples as known to Rust though. Do you know offhand if there's a defined way to map between them? It looks like lowercasing would get a lot of them, but not all (SystemZ -> systemz != s390x) e.g. |
Rust doesn't know the mapping at all, but LLVM parses the arch for its ... and each backend calls |
This however works with the Fedora rustc.
It seems to me RHEL rust toolchain apparently omits support for riscv64-unknown-linux-gnu...and hence using our default of
tier = 2
breaks there.Compare:
This is messy. If we do something like detect what targets the toolchain has, then the filtering is suddenly dependent on the host.
Maybe we can just allow opting-in to that via e.g.
And
filter-host
acknowledges some potential unreproducibility.The text was updated successfully, but these errors were encountered: