Skip to content

Add support for big-endian targets #1555

Closed
@briansmith

Description

@briansmith
  1. Solve C (or Rust) fallback for all functions that work for all little-endian targets #1455 to get everything that depends on bn_mul_mont working when bn_mul_mont isn't available.
  2. Adjust build.rs and the #[cfg(target_arch)] logic throughout the project so that the assembly language implementations are never used on big-endian targets (specifically, big-endian 32-bit ARM and AArch64 need to fall back).
  3. Remove the unnecessary tests that we're building on a little-endian target.
  4. Add at least one big-endian target to CI that actually runs tests. This can be done in QEMU like the AAarch64 and 32-bit ARM tests are run.
  5. Improve the code test coverage to be closer to 100% and do an audit so that we can be sure there is no endian-specific logic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions