Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi there.
Recently, riscv64 (rv64) has gained widespread adoption, and we might consider adding rv64 support to sccache. Our build image
messense/rust-musl-crosshas excellent support for rv64, so we can easily add rv64 support to sccache, but there are two points that need special mention.One of our dependencies is openssl. The version we currently use fails to compile on rv64, so we need to upgrade the version.
I chose to upgrade to the latest version,
300.5.4+3.5.4,which compiles successfully for non-s390x architectures. For s390x, there's a compilation issue:Error: Unrecognized opcode: 'cijne'. After reviewing related issues, I inserted a compilation flag specifically for s390x to enable it to compile successfully. For the specific code, please refer to the content in the PR.The patch comes from two sources: 1, 2.
No other modifications are needed to complete the compilation. I ran CI in my fork, and the results show everything is good. Please check the links below for details:
Regarding the
ci, there are some failed jobs that I need to briefly explain. Some failures are due to running in my fork and lackingtoken, which causesUpload coverage resultsto fail—this doesn't affect this PR. Others are due toThe macOS-13 based runner images are now retired, which also doesn't affect this PR.Therefore, we can add rv64 support very well.
If you have any questions about the above content, please @ me directly. I'm happy to answer all questions.
Other Info
Co-authored by: [email protected];