Skip to content

Add CI targets for 32-Bit and Big-Endian Architectures #23

Closed
@Alexhuszagh

Description

@Alexhuszagh

Cross, which is supported via actions-rs, has numerous big-endian and little-endian targets that should provide comprehensive coverage for unit-testing. I suggest the following targets, since they're relatively good smoke tests:

  • powerpc-unknown-linux-gnu (Big-Endian, 32-Bit)
  • powerpc64le-unknown-linux-gnu (Little-Endian, 64-Bit)
  • aarch64-unknown-linux-gnu (Little-Endian, 64-Bit)
  • armv7-unknown-linux-gnueabihf (Little-Endian, 32-Bit)

I've also had interesting results with math operations on ARMv7, which I'm unsure if they are due to Qemu emulation, soft-floats, or are actually representative of the architecture, so it's also been a useful smokescreen for some cases. I've never had an issue with my correct float parser with it, but I'd recommend it as a smokescreen as well, since it's a very popular architecture for smartphones.

Note: ARMv7, ARMv8-A (and all ARM architectures) can be run in big or little-endian mode, but are generally run in little-endian mode. These two architectures are very popular in smartphones (Qualcomm, Apple, etc.) ARMv7 is strictly 32-bit, but ARMv8 can be 32-bit or 64-bit. AArch64 is a 64-bit version of that. Both of these targets on Rust run in little-endian mode.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions