View previous topic :: View next topic |
Author |
Message |
Zapeth n00b
Joined: 19 Feb 2018 Posts: 11
|
Posted: Thu Oct 08, 2020 11:40 am Post subject: Is 32-bit ABI mode for aarch64 a thing? |
|
|
I know about the CONFIG_X86_X32 kernel flag for amd64 platform (https://cateee.net/lkddb/web-lkddb/X86_X32.html), but is there something similar for aarch64 platform?
Considering armv8 devices with more than 4gb are still somewhat rare/expensive nowadays I imagine such a feature would be even more desirable on aarch64 than amd64? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54421 Location: 56N 3W
|
Posted: Thu Oct 08, 2020 12:17 pm Post subject: |
|
|
Zapeth,
There is no multilib on arm64, so userland must be either 32 bit or 64 bit. Mixing is not supported.
In arm64 CPUs, 32 bit support is optional. Some have it some don't.
Where it exists. the CPU can switch between 64 bit and 32 bit mode on demand, so running a 32 bit user land on top of a 64 bit kernel works.
The kernel needs 32 bit support.
There is one exception to userland must be either 32 bit or 64 bit. Mixing is not supported.
32 bit statically linked binaries will run on top of a 64 bit kernel, even in a 64 bit userland. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Zapeth n00b
Joined: 19 Feb 2018 Posts: 11
|
Posted: Thu Oct 08, 2020 12:31 pm Post subject: |
|
|
I see, thanks for the explantion. I was trying to find information about this topic beforehand but couldn't really find a conclusive answer, so I wanted to ask around. |
|
Back to top |
|
|
GDH-gentoo Veteran
Joined: 20 Jul 2019 Posts: 1569 Location: South America
|
Posted: Thu Oct 08, 2020 6:07 pm Post subject: |
|
|
Note that, for amd64, CONFIG_X86_X32 is not (directly) related with a multilib userland. x32 is a third abstract binary interface (ABI) that mixes aspects of the 'pure' 64-bit one with aspects of the 'pure' 32-bit one. Among other things, the ABI affects the format of ELF executables and ELF shared libraries. CONFIG_X86_X32 enables support in the kernel for running ELF executables that use the x32 ABI (created, for example, with gcc -mx32).
As far as I know, there is nothing like x32 for AArch64. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54421 Location: 56N 3W
|
Posted: Fri Oct 09, 2020 10:41 am Post subject: |
|
|
GDH-gentoo,
Correct. The -mx32 ABI was really a gap filler while amd64 systems with small amounts of RAM were common.
It was never really completed. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
|