This PR rewrites the ABI specifications for ARM32 and ARM64. We also leverage the new target registration facility and tweak the target hierarchy of the ARM architectures. The naming scheme is now much closer to what is used in GNU and therefore are much more intuitive. For example, it is now possible just to specify --target=arm or --target=aarch64 or even --target=arm-linux-gnueabi. As usual, use bap list targets for the full list. The name arm is now the catchall architecture for ARM32 (aka Aarch32), and aarch64 is the catchall for all armv8. A slightly breaking change is that the new name for the arm parent target is arm-family not arm as it was before. The abi names were also slightly changed to match the names used by GCC and Debian. However, since the target nicknames are now made a part of the Primus Lisp context (and bare names were only used in the contexts), we do not expect that any changes are necessary to the existing code bases.
This PR rewrites the ABI specifications for ARM32 and ARM64. We also leverage the new target registration facility and tweak the target hierarchy of the ARM architectures. The naming scheme is now much closer to what is used in GNU and therefore are much more intuitive. For example, it is now possible just to specify
--target=arm
or--target=aarch64
or even--target=arm-linux-gnueabi
. As usual, usebap list targets
for the full list. The namearm
is now the catchall architecture for ARM32 (aka Aarch32), andaarch64
is the catchall for all armv8. A slightly breaking change is that the new name for the arm parent target isarm-family
notarm
as it was before. The abi names were also slightly changed to match the names used by GCC and Debian. However, since the target nicknames are now made a part of the Primus Lisp context (and bare names were only used in the contexts), we do not expect that any changes are necessary to the existing code bases.