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

Tier 3 support for base targets used by Alpine Linux #5

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

selfisekai
Copy link

No description provided.

@rtzoeller
Copy link

Apologies for not seeing this sooner - this repo is largely unused.

I don't have any significant concerns with adding support for these targets. We generally do try to keep the Tier 3 targets passing despite the stated policy saying they are allowed to fail, so there is a bit of a maintenance cost although it should be minimal given that we already support some musl targets and most of these targets for gnu libc. The biggest impact would be slowing down bors.

Have you seen any issues caused by differing support for the hard-float targets vs. the soft-float ones? For example, we already test compilation for arm-unknown-linux-musleabi; do we really need to also build for arm-unknown-linux-musleabihf, or is the former sufficient?

I'm willing to assist in making the changes to get these target architectures supported; is there a priority order that I should be aware of? E.g. you mentioned known failures with the s390x and riscv64 architectures, should I start there?

@selfisekai
Copy link
Author

Have you seen any issues caused by differing support for the hard-float targets vs. the soft-float ones?

no, though I wasn't looking much into this, I just went through the list of added targets in the patch.

I'm willing to assist in making the changes to get these target architectures supported; is there a priority order that I should be aware of? E.g. you mentioned known failures with the s390x and riscv64 architectures, should I start there?

I have no idea of the current state of riscv64 is, as this rust for it is currently broken in aports (has to be bootstrapped again; this architecture is pretty new in alpine and doesn't even get releases so far), though looking on earlier comments in packages it was broken. s390x is definitely broken. all the other architectures seem to be working fine.

@rtzoeller
Copy link

I think there are some inconsistencies in the https://github.com/rust-lang/libc definitions for s390x/musl that need to be addressed before nix can correctly add support.

For example, statfs.f_type is declared as a c_ulong in the Rust code, but I believe it should be a c_uint based on the musl C source. This is causing issues as the Rust code explicitly defines the actual filesystem types as c_uints on s390x.

I've not yet looked at the state of the riscv source.

@rtzoeller
Copy link

It looks like I can build for riscv64gc-unknown-linux-musl as well; I don't have access to hardware to test on, so I'll be relying on you (or someone else) to note what's wrong with the nix crate.

If someone can validate the existing riscv64gc-unknown-linux-musl support, I can add it to our build process so the compile doesn't regress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants