Some aarch64 machines (typically consumer machines that may need support for 32-bit apps) support 32-bit instructions, others (typically servers) don't.
This is hard to express in the archpolicies[] format (src/poolarch.c) -- it can be either "aarch64", "aarch64" or "aarch64", "aarch64:armv8hnl:armv8hl:armv8l:armv7hnl:armv7hl:armv7l:..."
On a distribution that provides aarch64 and 32-bit ARM packages, obviously in one case you want to force 64-bit only while in the other case 32-bit packages should be handled like i686 packages on x86_64.
We'll probably run into the same problem with RISC-V at some point, where a CPU may be RISC-V32, RISC-V64 or both.
Some aarch64 machines (typically consumer machines that may need support for 32-bit apps) support 32-bit instructions, others (typically servers) don't.
This is hard to express in the archpolicies[] format (src/poolarch.c) -- it can be either "aarch64", "aarch64" or "aarch64", "aarch64:armv8hnl:armv8hl:armv8l:armv7hnl:armv7hl:armv7l:..."
On a distribution that provides aarch64 and 32-bit ARM packages, obviously in one case you want to force 64-bit only while in the other case 32-bit packages should be handled like i686 packages on x86_64.
We'll probably run into the same problem with RISC-V at some point, where a CPU may be RISC-V32, RISC-V64 or both.
Cc @Conan-Kudo