rust-lang / libc

Raw bindings to platform APIs for Rust
https://docs.rs/libc
Apache License 2.0
2.07k stars 1.04k forks source link

Prefer using qemu system instead of qemu user #829

Open malbarbo opened 6 years ago

malbarbo commented 6 years ago

s390x-unknown-linux-gnu and sparc64-unknown-linux-gnu uses qemu system to run the tests. It seems more correct in terms of emulation to use full system emulation. So we may try to update the other targets to use system emulation.

kristate commented 6 years ago

Circling back, what is the status?

alexcrichton commented 6 years ago

This was added for s390x and sparc64, but other platforms aren't using this yet. Changing the others, though, to using this would be more than welcome!

gnzlbg commented 5 years ago

Status update: @malbarbo added qemu-system support to cross - most targets can choose between using qemu-user or qemu-system when running tests.

tgross35 commented 1 month ago

Something to note here is that qemu-system seems to be significantly slower than qemu-user. Most tests complete in ~3 minutes, but s390x is about 12m and sparc64 is about 25.

Checking tier 1 and maybe some of the more popular tier 2 targets with qemu-system may be worth it for accuracy and CI could be adjusted so they don't block anything (currently docker tier 2 blocks the linux build channels), but it doesn't seem like it would be worth the slowdown for many more targets.