-
Notifications
You must be signed in to change notification settings - Fork 13.4k
forward the bootstrap runner
to run-make
#141856
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
base: master
Are you sure you want to change the base?
forward the bootstrap runner
to run-make
#141856
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, one nit
Do you happen to know which CI jobs? |
3f206ce
to
ab6646a
Compare
I really don't know what cross-compilation actually happens in our CI and would run this |
Let's give it a try. |
…r, r=<try> forward the bootstrap `runner` to `run-make` The runner was already forwarded to `compiletest`, this just passes it on to `run-make` and uses it in the `run` functions. The configuration can look like this ```toml # in bootstrap.toml [target.s390x-unknown-linux-gnu] runner = "qemu-s390x -L /usr/s390x-linux-gnu" ``` Any C compilation automatically sets the correct target. Calls to rustc must use `.target(target())`. Then, a command like below will work by cross-compiling to the given target, and using the given runner for that target to execute the binary: ``` ./x test tests/run-make/c-link-to-rust-va-list-fn --target s390x-unknown-linux-gnu ``` The runner can also be used for e.g. running with `valgrind`. This PR also enables its use in the test case that I care about, hopefully that actually does work on the platforms that CI uses. We should probably run some try jobs to be sure? r? `@jieyouxu` try-job: test-various try-job: armhf-gnu
Reminder (for myself): if try job fails, use |
Unknown command "try`". |
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
This comment has been minimized.
This comment has been minimized.
You probably need sth like |
Hmm, that directive is never actually used, and also does not solve the issue for that target. It is a known target, just not one that has |
Yeah, a proper fix is sth like EDIT: opened #141863 |
(Sorry, I wrote |
Apparently you need to explicitly exluce
|
ab6646a
to
e3fee6a
Compare
Right. Because the nvptx64 target doesn't have a |
This comment has been minimized.
This comment has been minimized.
@jieyouxu can you rerun the try jobs here? |
Sure. |
This comment was marked as off-topic.
This comment was marked as off-topic.
…r, r=<try> forward the bootstrap `runner` to `run-make` The runner was already forwarded to `compiletest`, this just passes it on to `run-make` and uses it in the `run` functions. The configuration can look like this ```toml # in bootstrap.toml [target.s390x-unknown-linux-gnu] runner = "qemu-s390x -L /usr/s390x-linux-gnu" ``` Any C compilation automatically sets the correct target. Calls to rustc must use `.target(target())`. Then, a command like below will work by cross-compiling to the given target, and using the given runner for that target to execute the binary: ``` ./x test tests/run-make/c-link-to-rust-va-list-fn --target s390x-unknown-linux-gnu ``` The runner can also be used for e.g. running with `valgrind`. This PR also enables its use in the test case that I care about, hopefully that actually does work on the platforms that CI uses. We should probably run some try jobs to be sure? r? `@jieyouxu` try-job: test-various try-job: armhf-gnu
This comment was marked as off-topic.
This comment was marked as off-topic.
@bors2 try |
…r, r=<try> forward the bootstrap `runner` to `run-make` The runner was already forwarded to `compiletest`, this just passes it on to `run-make` and uses it in the `run` functions. The configuration can look like this ```toml # in bootstrap.toml [target.s390x-unknown-linux-gnu] runner = "qemu-s390x -L /usr/s390x-linux-gnu" ``` Any C compilation automatically sets the correct target. Calls to rustc must use `.target(target())`. Then, a command like below will work by cross-compiling to the given target, and using the given runner for that target to execute the binary: ``` ./x test tests/run-make/c-link-to-rust-va-list-fn --target s390x-unknown-linux-gnu ``` The runner can also be used for e.g. running with `valgrind`. This PR also enables its use in the test case that I care about, hopefully that actually does work on the platforms that CI uses. We should probably run some try jobs to be sure? r? `@jieyouxu` try-job: test-various try-job: armhf-gnu
💔 Test failed
|
Hmm
|
The runner was already forwarded to `compiletest`, this just passes it on to `run-make` and uses it in the `run` functions.
That is weird, it does work for me locally:
Should we investigate that further, or just ignore wasm32 and wasm64 for now? |
That's a lot of tests, I don't particularly want to regress them like this. I'll try to take a look tmrw. @rustbot review |
Oh right, the test that I adjusted actually passes, but a bunch of others don't for a variety of reasons. That is really strange, the only thing that change there (I think) is that maybe the runner is set based on So the
One difference I'm seeing is that locally I use stage1 but CI uses stage2. I don't see why that would matter though. In any case I'll push a rebase with the new stage0 machinery. |
e3fee6a
to
272dfe8
Compare
(A bit caught up with other things, I'll take a look on Saturday.) |
The runner was already forwarded to
compiletest
, this just passes it on torun-make
and uses it in therun
functions.The configuration can look like this
Any C compilation automatically sets the correct target. Calls to rustc must use
.target(target())
. Then, a command like below will work by cross-compiling to the given target, and using the given runner for that target to execute the binary:The runner can also be used for e.g. running with
valgrind
.This PR also enables its use in the test case that I care about, hopefully that actually does work on the platforms that CI uses. We should probably run some try jobs to be sure?
r? @jieyouxu
try-job: test-various
try-job: armhf-gnu