-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
add support for mips-uclibc targets #361
Comments
This is awesome - thanks for doing all of this for a relatively exotic platform!! 💯 |
I forgot to paste the errors I got from running this. For further reference: gist |
Add missing signals. In preparation of turning them into an enumeration.
Signal enum This is work in progress. I post this pull request as a request for discussion. I mark the lines I have doubts or ideas about. Ignore the first commit. It is the same as PR rust-lang#361, which I wanted to base this change off.
Steps towards support for musl-unknown-linux-uclibc Hello! I've been working towards resolving #361 , this PR compiles successfully with a newish compiler (with some minor fixes in `gcc`, `ctest`), and all the tests pass for `libc-ctest`. Basically most of the undefined functions, constants, and structs were just removed from the ctest, and then any constants that weren't correct were fixed. Would it make more sense to conditionally remove them from libc? I wasn't sure when it was appropriate to skip the test for it instead of removing the function/constants, so I just removed all the tests for now because that was a little easier than hunting them down. I'm also guessing the way some of the constants were conditionally set wasn't the correct style, would you guys have any advice on how to do it more correctly? Lemme know how it looks!
I believe initial support has been added! |
@japaric when I run
|
FYI we have no uclib tests upstream of any kind, so uclib support might not compile anymore. If anyone has an easy way to at least compile these targets using |
This exposes access to the `grow_memory` and `current_memory` instructions provided by wasm in what will hopefully be a stable interface (the stable part being x86 first in theory).
These targets landed in rust-lang/rust#35734 but this crate doesn't properly support them. This
issue tracks adding support for them. Where "adding support" means updating the function signatures
and definition of "constants" (probably via new
cfg
blocks/code) to make the libc-ctest test suitepass for these targets.
Here are instructions on how to run said test suite:
I've created a docker image (*) with all the stuff needed (e.g. cross toolchain) to run the test
suite. Launch a container with this image using the following command:
Then, inside docker container run this command:
(where
$TARGET
ismips-unknown-linux-uclibc
ormipsel-unknown-linux-uclibc
).To cross compile
std
for$TARGET
and to run the libc-test test suite. The test suite will failand then you'll be back to the shell. The
libc
crate will be available in~/libc
. Thatlibc
checkout would have to be modified until the test passes. To run the libc-test test suite again run
these commands:
UPDATE: The image is now up. Disregard the note below.
(*) NOTE: I'm still uploading the image and it may take a while. In the meantime you can build the image
yourself with these command (it will take a while):
cc @felixalias
The text was updated successfully, but these errors were encountered: