nix-rust / nix

Rust friendly bindings to *nix APIs
MIT License
2.68k stars 668 forks source link

Enable CI for Loongarch64 #2509

Closed Fearyncess closed 2 months ago

Fearyncess commented 2 months ago

What does this PR do

This PR is the reimplementation of PR #2461. That will enable CI testing for loongarch64-unknown-linux-gnu.

Checklist:

SteveLauC commented 2 months ago

@Fearyncess:

I have rewrite https://github.com/Fearyncess/nix/pull/1 for Loongarch64 CI, and it works. Unfortunately, I face a big problem with the QEMU and testcases below. Loongarch64 need a newer QEMU after 7.1 version. But before QEMU supported la64, qemu has a commit that has disabled many PRCTL subcodes 3 yrs ago. This commit will cause test_prctl failed in some cases, due to these subcodes has been disabled in newer QEMU.

BTW, I guess some commits in QEMU can change some syscalls' behavior, that brings some weird test results... -> https://github.com/nix-rust/nix/issues/2418

SteveLauC commented 2 months ago

BTW, I guess some commits in QEMU can change some syscalls' behavior, that brings some weird test results... -> https://github.com/nix-rust/nix/issues/2418

2418 happens without a QEMU bump, we encountered it when upgrading the Linux CI base image from Ubuntu 20.04 to 22.04🤔

Fearyncess commented 2 months ago

Please also add this target to the target support list of Nix as a tier2 target.

Added.