32-bit executables on aarch64?

Thomas David Rivers rivers at dignus.com
Wed Mar 31 18:27:02 UTC 2021


marklmi at yahoo.com  wrote:
> armv7# file `which uname`
> /usr/bin/uname: ELF 32-bit LSB executable, ARM, EABI5 version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, FreeBSD-style, for FreeBSD 14.0 (1400005), not stripped
> 
> armv7# uname -apKU
> FreeBSD RPi4B 14.0-CURRENT FreeBSD 14.0-CURRENT mm-src-n245445-def0058cc690 GENERIC-NODBG  arm armv7 1400005 1400005
> 
> (I did both buildworld builds from the same source.)
> 
> There is no lib32 implementation for aarch64.
> So, direct execution of code for armv7 FreeBSD
> without being in such a chroot is not available.
> (I ignore qemu and the like here.)
> 
> ===
> Mark Millard

 Ah!

 So, the kernel _can_ run a 32-bit executable... but we just can't
 build one on an aarch64 machine...

 I wonder if I can "cross-build" an LLVM/dcc for armv7 and just
 cross-compile to get a 32-bit executable that executes on 
 a 64-bit kernel.. perhaps with -static to avoid any runtime problems?

	- Dave R. -

--
rivers at dignus.com                        Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com


More information about the freebsd-arm mailing list