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

Assorted libc-test failures #357

Closed
japaric opened this issue Aug 16, 2016 · 9 comments
Closed

Assorted libc-test failures #357

japaric opened this issue Aug 16, 2016 · 9 comments

Comments

@japaric
Copy link
Member

japaric commented Aug 16, 2016

UPDATE (2016-11-16)

I'm now using (or rather will soon be using) the "one Dockerfile per target" that this repo uses in my smoke repo. See japaric-archived/smoke#32.

I'm now seeing the following errors:

Disclaimer: These builds are 8 days old

  • powerpc64le-unknown-linux-gnu. gcc error. I think libc is not testing this target.

  • x86_64-unknown-linux-musl. gcc error. Not sure about this one, are we using a different musl version?

All the issues below seem to have been solved.


I've been testing, with the help of QEMU, Rust cross compilation targets in this repository (look ma test matrix!). One of tests I'm running is libc-test. I've seen some failures so I figured I should report them here:

cc @alexcrichton

@alexcrichton
Copy link
Member

Holy cow that is quite the matrix! We've currently got a dockerfile-per-target, so it should be quite easy to add new targets to being tested here. I'd love to get CI up and running for everything here! (nothing is omitted intentionally)

@japaric
Copy link
Member Author

japaric commented Aug 16, 2016

I'm using a single docker image (Dockerfile here) to run all these. Perhaps we can use that image or create one based on it under the rust-lang organization name. (I'm not sure what's the policy on depending on Docker images not owned by the rust-lang organization) When I get the time, I'll see how to integrate my CI scripts with the ones here.

@alexcrichton
Copy link
Member

Sounds good to me! I've just preferred lately to have a single target per docker image because it's easy enough to see how to compose them together and otherwise it cuts down the cycle time when debugging one particular target.

@japaric
Copy link
Member Author

japaric commented Aug 17, 2016

I see you forked my docker repository. I want to document one trick I'm using, in case you are
playing with the docker image or thinking about creating a similar one:

  • Do not install QEMU on the docker image.
  • Instead install qemu-user-static and binfmt-support in a privileged docker container
    (docker run --privileged ..).
  • This will let you transparently run "foreign" binaries on the container. IOW, you will be able to directly
    run ./arm-binary or cargo test --target arm-unknown-linux-gnueabi; Instead of having to call
    cargo test --target arm-unknown-linux-gnueabi --no-run && qemu-arm target/debug/arm-unknown-linux-gnueabi/some_test-$HASH. Note that you still have to set QEMU_LD_PREFIX in both cases.

@alexcrichton
Copy link
Member

I think we're now testing all these targets, @japaric are there still remaining issues though?

@japaric
Copy link
Member Author

japaric commented Nov 16, 2016

@alexcrichton Everything in my original report seems to be fixed now. I've updated the top comment with two errors I saw in a 8 days old smoke run.

@alexcrichton
Copy link
Member

Ah yeah for musl we're installing 1.15 where you're using 1.9 I believe. Those errors are likely benign.

Also holy cow I swear if powerpc64 and powerpc64le are different in terms of APIs I'm going to flip a table. I'll make a PR adding it to this repo though.

@alexcrichton
Copy link
Member

Turns out powerpc64le was a bug in ctest. In light of that sounds like we can close!

@japaric
Copy link
Member Author

japaric commented Nov 16, 2016

Turns out powerpc64le was a bug in ctest.

👍 The tables are safe!

Susurrus pushed a commit to Susurrus/libc that referenced this issue Mar 26, 2017
Use Void in exec return type

Indicates that these methods cannot return successfully. This does introduce a new dependency; an empty enum could be used instead but then you would lose the convenience `unreachable` methods exposed by the `void` crate, and standardizing on one type, etc...
danielverkamp pushed a commit to danielverkamp/libc that referenced this issue Apr 28, 2020
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

No branches or pull requests

2 participants