This issue is to track discussion around the following:
All requests to uname() need to return the correct machine string. For example, armv7l or armhf as opposed to the 32-bit subset/mode of the 64-bit ARM ISA, armv8l.
This would need to work for all cases where we have 64-bit hardware capable of running our 32-bit targets.
Do we need uname wrappers, or LD_PRELOAD hacks, or custom kernels?
My only focus right now is on the autobuilder environment, but knowledge on what is "correct" will be useful regardless.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
commit 3dd681d944f6d861f12ee03aff17a14342963330Author: Will Deacon <will@kernel.org>Date: Mon Mar 5 11:49:32 2012 +0000 arm64: 32-bit (compat) applications support This patch adds support for 32-bit applications. The vectors page is a binary blob mapped into the application user space at 0xffff0000 (the AArch64 toolchain does not support compilation of AArch32 code). Full compatibility with ARMv7 user space is supported. The use of deprecated ARMv7 functionality (SWP, CP15 barriers) has been disabled by default on AArch64 kernels and unaligned LDM/STM is not supported. Please note that only the ARM 32-bit EABI is supported, so no OABI compatibility. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Nicolas Pitre <nico@linaro.org> Acked-by: Olof Johansson <olof@lixom.net> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
And/or some hack like this, except with variables:
so the 32-bit personality updates the Features record, but not the CPU architecture one. Therefore, we must be careful to collect /proc/cpuinfo from the appropriate environment before creating a fake one.