ARM-software / LLVM-embedded-toolchain-for-Arm

A project dedicated to building LLVM toolchain for Arm and AArch64 embedded targets.
Apache License 2.0
424 stars 98 forks source link

Add AArch64 Big Endian Variants using FVP models #554

Closed simpal01 closed 4 hours ago

simpal01 commented 3 weeks ago

This patch add new aarch64 big endian library variants.

  1. aarch64_be
  2. aarch64_be_exn_rtti

QEMU's doesn't have big-endian support in the release binaries. so need to use FVPs to test those libraries.

ostannard commented 2 weeks ago

Similar comment to #553: should we move the expansion of library variants inside the add_library_variants_for_cpu function, like we do for exceptions/rtti,instead of adding more calls to it? That will probably make this patch a bit more complicated, as we'll need to pass both the QEMU and FVP parameters into the call and select the right one for each variant, but in the longer term we'll want big-endian and strict-align variants for (almost) every library variant, so it should simplify things in the end.

simpal01 commented 1 week ago

Similar comment to #553: should we move the expansion of library variants inside the add_library_variants_for_cpu function, like we do for exceptions/rtti,instead of adding more calls to it? That will probably make this patch a bit more complicated, as we'll need to pass both the QEMU and FVP parameters into the call and select the right one for each variant, but in the longer term we'll want big-endian and strict-align variants for (almost) every library variant, so it should simplify things in the end.

Yeah there is a plan to do this as a long term solution when you have more library variants work with big-endian and strict-align. As a starting point, we will start adding separately now.