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

Removes SIGSTKFLT when cross-compiling to MIPS. #430

Merged
merged 1 commit into from
Sep 19, 2016
Merged

Conversation

tcr
Copy link
Contributor

@tcr tcr commented Sep 17, 2016

This is the only failing error when cross compiling to Tessel, which is a MIPS-based architecture.

Apparently libc does not have SIGSTKFLT (Term Stack fault on coprocessor) on this system, and indeed it does not have a coprocessor.

This commit should preserve the semantics for all other architectures. Potentially this can be inverted in the future if more platforms are added to only whitelist ARM, x86, x86_64, but I thought this conditional would suffice.

Copy link
Contributor

@fiveop fiveop left a comment

Choose a reason for hiding this comment

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

Tessel, which is a MIPS-based architecture.

Is this patch applicable for all MIPS-based architectures? Otherwise, we could hide the flag behind a feature instead of disabling it for the whole target.

@posborne
Copy link
Member

@fiveop Looks like this condition is not possible on MIPS as an architecture, so this change seems to make sense. https://www.linux-mips.org/archives/linux-mips/2006-05/msg00345.html

@posborne
Copy link
Member

I wish there was a better way to manage this (and there might be through macro magic), but I'm good with this change today in order to fix mips @homu r+

I still need to revisit getting the CI tests for MIPS to pass. Until then, I would not say we officially support MIPS. I would like to, of course.

@homu
Copy link
Contributor

homu commented Sep 19, 2016

📌 Commit 1f2d896 has been approved by posborne

@homu homu merged commit 1f2d896 into nix-rust:master Sep 19, 2016
@homu
Copy link
Contributor

homu commented Sep 19, 2016

⚡ Test exempted - status

homu added a commit that referenced this pull request Sep 19, 2016
Removes SIGSTKFLT when cross-compiling to MIPS.

This is the only failing error when cross compiling to Tessel, which is a MIPS-based architecture.

Apparently libc does not have SIGSTKFLT (Term Stack fault on coprocessor) on this system, and indeed it does not have a coprocessor.

This commit should preserve the semantics for all other architectures. Potentially this can be inverted in the future if more platforms are added to only *whitelist* ARM, x86, x86_64, but I thought this conditional would suffice.
@tcr
Copy link
Contributor Author

tcr commented Sep 19, 2016

Thanks for finding the reference for this @posborne. If I can help with fixing the MIPS CI, lmk what I should look at.

@posborne
Copy link
Member

If I can help with fixing the MIPS CI, lmk what I should look at.

Sure, that task is basically getting CI passing. The infrastructure built on top of docker is already present and you can run CI for mips by doing the following (also read https://github.com/nix-rust/nix/tree/master/ci):

 $ DOCKER_IMAGE=posborne/rust-cross:mips \
      RUST_VERSION=1.7.0 \
      RUST_TARGET=mips-unknown-linux-gnu ci/run-docker.sh

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.

4 participants