briansmith / ring

Safe, fast, small crypto using Rust
Other
3.69k stars 697 forks source link

Added MIPS 32-bit big-endian #1894

Closed DavidHorton5339 closed 8 months ago

DavidHorton5339 commented 8 months ago

Now that ring has generic fallback code, we can compile it for new targets by allowing them through target.h checks. I'd like to add MIPS support. This works well (all unit tests pass, and our application works on the target). Unfortunately the Rust compiler recently got broken for MIPS, so version 1.71 or earlier is required. Same as https://github.com/briansmith/ring/pull/1859, but without the unsquashable multiple commits over > 1 branch.

codecov[bot] commented 8 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (c3fda8b) 96.00% compared to head (6ce9f07) 96.02%. Report is 103 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1894 +/- ## ========================================== + Coverage 96.00% 96.02% +0.01% ========================================== Files 138 136 -2 Lines 20746 20776 +30 Branches 226 226 ========================================== + Hits 19918 19950 +32 - Misses 790 792 +2 + Partials 38 34 -4 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

briansmith commented 8 months ago

My understanding is that this target basically wouldn't work in Rust 1.72 or later without a self-built toolchain? Is that right?

briansmith commented 8 months ago

@DavidHorton5339 I am closing this in favor of #1910, which rebases this PR on top of the latest changes to main and adds this and mipsel to the CI test matrix.