Implementing Support for powerpc64le Linux #74
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR resolves #60 by implementing support for the powerpc64le Linux target.
To achieve this I had to replace a unused parameter type with a void pointer (from ucontext_t) in the signal handler in src/stack/overflow_unix.rs. This is due to it not being present in libc for ppc64le. There is currently an active PR, that will resolve this: rust-lang/libc#3964, rust-lang/libc#3986. As soon as this is merged, this should probably be switched back to the correct type.
Furthermore building with inline assembly (
global_asm!
) is not stable on powerpc yet so I adjusted the Buildprocess in the build.rs file to build the assembly externally and link it when building for powerpc64le.I also adjusted the .travis.yml but could not test this. However in my live env all tests are passing in both debug and release builds. The Cross.toml was extended as well.