Hello,
As you may or may not be aware, there is a new x86 ABI that provides
a 32-bit memory model on x86_64 called x32, which provides the more
RISC-like calling convention that x86_64 uses with 32-bit pointers.
ARM is also making such a userspace ABI for aarch64.
I would like to target both of these ABIs for a future Alpine
release (probably 3.13/4.0), as I believe they will be useful for
containers. I am sure other apk-tools consumers are also interested
in such ABIs.
But to do so, we must first determine what the sub-architecture
should be called.
Right now, on x86 we have x86 and x86_64.
ARM is, well, a mess by comparison, over there, we have:
- armel (deprecated): ARMv5 little-endian
- armhf: ARMv6 little-endian, hard float
- armv7: ARMv7, hard-float
- aarch64: ARMv8, 64-bit, hard-float
My thoughts so far are to use x86_64-ilp32 and aarch64-ilp32 as
the architecture name. But maybe somebody has a better suggestion?
Ariadne
Hi,
On Wed, 19 Feb 2020 04:45:13 +0000
"Ariadne Conill" <ariadne@dereferenced.org> wrote:
> As you may or may not be aware, there is a new x86 ABI that provides
> a 32-bit memory model on x86_64 called x32, which provides the more
> RISC-like calling convention that x86_64 uses with 32-bit pointers.
>
> ARM is also making such a userspace ABI for aarch64.
>
> I would like to target both of these ABIs for a future Alpine
> release (probably 3.13/4.0), as I believe they will be useful for
> containers. I am sure other apk-tools consumers are also interested
> in such ABIs.
>
> But to do so, we must first determine what the sub-architecture
> should be called.
>
> Right now, on x86 we have x86 and x86_64.
>
> ARM is, well, a mess by comparison, over there, we have:
>
> - armel (deprecated): ARMv5 little-endian
> - armhf: ARMv6 little-endian, hard float
> - armv7: ARMv7, hard-float
> - aarch64: ARMv8, 64-bit, hard-float
Right.
> My thoughts so far are to use x86_64-ilp32 and aarch64-ilp32 as
> the architecture name. But maybe somebody has a better suggestion?
Those sound generally good to me. Though, might be worth looking what
others, who already support ilp32, use already. I remember that the
x86_64 was often called x32?
What does the gcc host triplet look like on these?
Timo